在Delphi(XE)中注册自定义数据模块

在Delphi(XE)中注册自定义数据模块,delphi,Delphi,我想在Delphi XE中向DataModule添加一个已发布的属性,以便该属性显示在对象检查器中。我已经了解了基本的细节,但仍停留在需要注册自定义模块(在设计时包中)的位置。我能找到的所有帮助似乎都参考了旧版本的Delphi 我相信在注册过程中我需要一行如下所示: RegisterCustomModule(TMyForm、TDataModuledSignerCustomModule) 但是,TCustomModuleClass类型的第二个参数的正确值让我摸不着头脑 有什么想法吗?如果您只想在对

我想在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的话。