Delphi 在 class 中分配事件

Delphi assign event in class

我必须更改自定义查询 class 的数据类型映射(我正在使用 FireDAC)。这本身没有问题,我已经创建了一个程序来完成这项工作。但是我在大规模实施它时碰壁了。 我在我的 class 中创建了一个过程,它从它的数据库连接组件(具有正确的数据类型映射规则)中获取 self.FormatOptions.MapRules 属性。现在我想改变我的 class 以便 class 的每个组件都执行我的程序 OnOpen 但我似乎无法找到一种方法将程序分配给 [=24] 中的事件=].

当我的数据库连接组件不是我的查询组件的父级时,有没有办法做到这一点或 "inherit" 属性?

我已经尝试使用构造函数来完成它,但由于我没有在运行时创建查询组件,因此不会调用构造函数

由于查询组件在项目中使用了大约 500 多次,我不想每次都手动将过程分配给事件...

好的,我只是 "solved" 它。问题出在我的 class hirachy 内部。就像;

  • 顶层:TMyCustomClass
  • 中间:TMygeneralClass
  • 底部:TStandardClass

在 The Middle class 中,Dataset.formatoptions.ownmaprules 的默认值设置为 true,这打破了传统。基本上我不了解遗产是如何运作的;)