我想将已发布的属性添加到Delphi XE中的DataModule,以便该属性显示在对象检查器中。我是基本的细节,但我仍然需要注册自定义模块(在设计时包中)。我能找到的所有帮助似乎都是指旧版本的Delphi。
我相信我需要在注册程序中使用如下所示的一行:
RegisterCustomModule(TMyForm,TDataModuleDesignerCustomModule);
但是,TCustomModuleClass类型的第二个参数的正确值不包括在内。
有任何想法吗?
如果您想要做的就是在Object Inspector
中显示已发布的属性,那么根据我从Marco's book的理解,您可以将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.
添加到新的或现有的包中,如果是新包,请记住仅将Package的类型更改为Designtime,添加对designide.dcp的引用,以便找到DesignIntf和DesignEditors单元。
您可能需要将VCL添加到单元范围名称以使您的新包编译。
您可能还需要将Package和DCP和DCU输出文件夹设置为空白以外的其他文件夹,而不是任何其他软件包或应用程序,因此此软件包生成的dcus不会干扰任何其他人的软件包。