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

时间:2014-01-27 21:55:30

标签: delphi

我想将已发布的属性添加到Delphi XE中的DataModule,以便该属性显示在对象检查器中。我是基本的细节,但我仍然需要注册自定义模块(在设计时包中)。我能找到的所有帮助似乎都是指旧版本的Delphi。

我相信我需要在注册程序中使用如下所示的一行:

RegisterCustomModule(TMyForm,TDataModuleDesignerCustomModule);

但是,TCustomModuleClass类型的第二个参数的正确值不适合我。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

如果您要做的只是在Object Inspector中显示已发布的属性,那么我从Marco's book了解到,您可以将TCustomModule作为自定义模块类传递。它将显示所有已发布的属性。

答案 1 :(得分:1)

创建包含这些自定义注册类型的包的完整示例和步骤:

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.

添加到新的或现有的Package中,如果它是一个新包,请记住仅将Package的类型更改为Designtime,添加对designide.dcp的引用,以便找到DesignIntf​​和DesignEditors单元。

您可能需要将VCL添加到单位范围名称以使您的新包编译。

您可能还需要将Package和DCP和DCU输出文件夹设置为空白以外的其他文件夹,而不是任何其他软件包或应用程序,因此此软件包生成的dcus不会干扰任何其他人的软件包。

相关问题