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,这打破了传统。基本上我不了解遗产是如何运作的;)
我必须更改自定义查询 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,这打破了传统。基本上我不了解遗产是如何运作的;)