我想知道是否有任何方法可以将组件的事件(As TButton.OnClick
)链接到数据模块中定义的过程(在设计时)。
目前,我在运行时这样做:
MyButton.OnClick := MyDataModule.MyOnClickEvent;
目标是在Object Inspector窗口的下拉列表中获取MyDataModule.MyOnClickEvent。 在此先感谢所有分享知识的人:D
注1: 这是一个类似的问题,但没有关于如何在设计时完成相同任务的信息: Access an event on a DataModule from another Form
注2: 我发现的唯一方法是在父表单上定义所有事件,但我希望有一个更清晰的解决方案
答案 0 :(得分:1)
据我所知,这是不可能的。
也许有些插件,但我对此表示怀疑。为什么?
想象一下,当你在一个有各种形式和数千个事件的项目中尝试使用类似的东西时,会返回所有的cluter。
当你在不同的同名表格上有多个活动时,你会怎么做?
答案 1 :(得分:0)
在DataModule中定义已发布的方法,以充当事件处理程序。其签名必须与TNotifyEvent
匹配。
确保DataModule的单元位于组件的父表单元的interface
uses
子句中。
确保在创建父窗体之前创建了DataModule。