是否有一个Delphi事件保证在应用程序终止时但在任何表单被销毁之前被调用?

Rob*_*ler 8 delphi terminate application-shutdown

我正在使用Delphi 6 Pro.我需要一个事件,当我的应用程序肯定关闭但在任何表单被销毁之前将触发.我想过在主窗体WndProc()中捕获WM_QUIT消息,但这不起作用,因为在我看到WM_QUIT消息之前,Forms开始销毁.我想知道是否有一个标准的Delphi事件,我可以用它来执行关闭事件链的这一点?我不能使用主窗体的FormClose()事件,因为它不能保证触发,并且FormDestroy()事件为时已晚.有任何想法吗?

Rem*_*eau 14

您不会看到方法中出现WM_QUIT消息WndProc(),因为WM_QUIT消息循环停止运行的信号也是如此,因此通常不会将其分派到窗口过程中.

对于您的要求,没有特定的事件.但是,您可以执行的操作是打开项目的.dpr文件,并在调用Application.Run退出后放置所需的任何代码.消息循环不再运行,但尚未释放ApplicationMainForm对象.


Mis*_*sha 8

这样做的最好方法(我多年来一直在研究这个问题)是通过SysUtils.pas中的AddTerminateProc()例程来连接一个过程.这种方法每次都有用,我已经使用了多年(除非你通过任务管理器终止进程).