在Delphi(XE)中注册自定义数据模块
我想在Delphi XE中向DataModule添加一个已发布的属性,以便该属性显示在对象检查器中。我已经了解了基本的细节,但仍停留在需要注册自定义模块(在设计时包中)的位置。我能找到的所有帮助似乎都参考了旧版本的Delphi 我相信在注册过程中我需要一行如下所示: RegisterCustomModule(TMyForm、TDataModuledSignerCustomModule) 但是,TCustomModuleClass类型的第二个参数的正确值让我摸不着头脑在Delphi(XE)中注册自定义数据模块,delphi,Delphi,我想在Delphi XE中向DataModule添加一个已发布的属性,以便该属性显示在对象检查器中。我已经了解了基本的细节,但仍停留在需要注册自定义模块(在设计时包中)的位置。我能找到的所有帮助似乎都参考了旧版本的Delphi 我相信在注册过程中我需要一行如下所示: RegisterCustomModule(TMyForm、TDataModuledSignerCustomModule) 但是,TCustomModuleClass类型的第二个参数的正确值让我摸不着头脑 有什么想法吗?如果您只想在对
有什么想法吗?如果您只想在
对象检查器中显示已发布的属性,那么据我所知,您可以将TCustomModule
作为自定义模块类传递。它将显示所有已发布的属性。完成创建包含以下自定义注册类型的包的示例和步骤:
unit YourCustomTypesReg;
interface
procedure Register;
implementation
uses
DesignIntf,
DesignEditors,
YourUnit1,YourUnit2,YourUnit3;
type
TCustomDataModule = TCustomModule;
procedure Register;
begin
RegisterCustomModule (TYourClass1, TCustomDataModule );
RegisterCustomModule (TYourClass2, TCustomDataModule );
RegisterCustomModule( TYourClass3, TCustomDataModule );
end;
end.
添加到新的或现有的包中,如果是新包,请记住将包的类型更改为“仅设计时间”,添加对designide.dcp的引用,以便找到DesignIntf和designEditor单元
您可能需要将VCL添加到单元作用域名称中,以便编译新包
您可能还需要将软件包、DCP和DCU输出文件夹设置为非空白、非任何其他软件包或应用程序,以便此软件包生成的DCU不会干扰任何其他人的软件包。我认为没有任何重大变化。马可在这里说的一切:我相信仍然有效。第二个参数是从TCustomModule
派生的类,或者是它的一个子类。David:看来已经完成了这个任务。非常感谢你的及时回复。感谢您在其他地方提供的大量详细和有益的回复。我在哪里可以拿到粉丝俱乐部登记表?干杯,很高兴成功了。我从未对自定义模块做过任何事情,更不用说数据模块了,所以我很高兴我似乎正确地解释了Marco的话。