我想知道是否有任何方法可以将组件的事件(As TButton.OnClick
)链接到数据模块中定义的过程(在设计时)。目前,我正在运行时执行以下操作:
MyButton.OnClick := MyDataModule.MyOnClickEvent;
目标是在对象检查器窗口的下拉列表中获得MyDataModule.MyOnClickEvent。提前感谢所有将分享知识的人:D
注1:这里有一个类似的问题,但没有关于如何在设计时完成相同任务的信息:从另一个表单访问DataModule上的事件
注2:我找到的唯一方法是在父窗体上定义所有事件,但我希望有一个更干净的解决方案
据我所知,这样的事情是不可能的。
也许有一些插件,但我对此表示怀疑。为什么?
想象一下,当你尝试在一个有大量表单和数千个事件的项目中使用这样的东西时,会返回所有的混乱。
此外,当你在不同的表格上有多个同名的活动时,你会如何处理?
在DataModule中定义一个发布的方法作为事件处理程序。其签名必须与TNotifyEvent
匹配。
确保DataModule的单元在组件的父Form单元的interface
uses
子句中。
确保在创建父窗体之前创建了DataModule。