【发布时间】:2012-03-24 23:35:14
【问题描述】:
我正在尝试在作为 dll 库一部分的表单上调用 onDeactivate 事件。当表单失去焦点到另一个应用程序时,OnDeactivate 不起作用是一个已知问题。不幸的是,Delphi 似乎将 dll 库中的表单视为其他应用程序。
我需要一些解决方法。
【问题讨论】:
-
您必须通知 DLL 中的 VCL 实例它是另一个应用程序的一部分。通过将
Application.Handle设置为MainForm.Handle来做到这一点,其中MainForm是应用程序的主要形式。您需要为您的应用构建一种机制,以将其主窗体的句柄传递给 DLL。这也是为什么在这类东西上包比 DLL 更受青睐的另一个原因。