-1

我想知道是否有任何方法可以将组件的事件(As TButton.OnClick)链接到数据模块中定义的过程(在设计时)。目前,我在运行时这样做:

MyButton.OnClick := MyDataModule.MyOnClickEvent;

目标是在 Object Inspector 窗口的下拉列表中获得建议的 MyDataModule.MyOnClickEvent。提前感谢所有将分享他们的知识的人:D

注意1: 这是一个类似的问题,但没有关于如何在设计时完成相同任务的信息: Access an event on a DataModule from another Form

注意2: 我发现的唯一方法是在父表单上定义所有事件,但我希望有一个更清洁的解决方案

4

2 回答 2

1

据我所知,这样的事情是不可能的。

也许有一些插件,但我对此表示怀疑。为什么?

想象一下,当您尝试在具有数百个表单和数千个事件的项目中使用类似的东西时会返回的所有混乱。

另外,当您在同名的不同表单上有多个事件时,您将如何处理?

于 2015-04-04T22:24:20.577 回答
0

在 DataModule 中定义一个已发布的方法来充当事件处理程序。它的签名必须匹配TNotifyEvent

确保 DataModule 的单元在interface uses组件的父表单单元的子句中。

确保在创建父窗体之前创建 DataModule。

于 2015-04-05T17:15:55.953 回答