Lazarus,如果当前项目已关闭,如何在自定义组件中检测?

时间:2017-05-07 04:48:17

标签: pascal lazarus freepascal

我正在为Lazarus IDE编写一个自定义组件,我需要在用户销毁它或者在关闭时被Lazarus IDE销毁时在其“析构函数”中进行检测。

以下是一个想法草案。

public class MainClass {
      public static void main(String[] args){
      Student student = new Student();

      Thread thread1 = new Thread(new ExampleRunnable(student));
      Thread thread2 = new Thread(new ExampleRunnable(student));

      /* So in above code, there are two different runnables and two different threads but both are using same Student object . This way you can share data among various runnables / threads. */
    }
    }
        }

非常感谢。

编辑(07-05-2017)

我的问题并不完全正确;所以我编辑了它。 关键是我不是在询问“当IDE关闭时”;我真的需要知道“当前项目已关闭时”

我的问题: 当项目关闭时,Lazarus的IDE会释放您正在使用的组件;当然,每个组件都执行它们的析构函数过程;这样,如果你正在开发一个自定义组件,那么使用析构函数程序来设计时间(特别是使用指针或FreeAndNil)这个代码将被执行,这将是一个问题(这对我的项目来说是一个问题)。

我在http://wiki.freepascal.org/Extending_the_IDE上找到了一些设计师事件的例子,我正在尝试注册处理程序LazarusIDE.AddHandlerOnProjectClose(@myprocedure)但是没有用。

也许我没有想到设计我的组件的最佳和最安全的选择。

无论如何,非常感谢,如果你对它有所了解,我会感谢你。

0 个答案:

没有答案