我正在为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)但是没有用。
也许我没有想到设计我的组件的最佳和最安全的选择。
无论如何,非常感谢,如果你对它有所了解,我会感谢你。