面板键事件

时间:2015-11-12 08:06:21

标签: forms delphi dll

我有一个DLL和主要应用程序 在主应用程序中,我从主应用程序主窗体所拥有的面板上的DLL创建一个窗体,主窗体有其他组件(按钮)。 问题: 当我在DLL表单组件(编辑)中按下键(输入或制表符)时,主应用程序主表单将执行主表单点击事件上的键和按钮。

1 个答案:

答案 0 :(得分:1)

问题是您的应用程序中有两个不同的VCL实例。一个在主程序中,一个在DLL中。这是不受支持的,预计很多功能都不起作用。

例如,类型标识的行为不符合您的预期。每个模块都有自己独立的VCL类型。因此,可执行文件TPanel与DLL的TPanel不同,依此类推。在可执行文件和DLL之间传递对象时可能会遇到严重问题,因为您可以从可执行文件中调用DLL上的方法,反之亦然。

支持的方法是使用运行时包而不是DLL。这导致所有模块共享VCL的单个实例。

如果您不想使用运行时包,那么您应该将DLL和可执行文件合并到一个可执行模块中。