如何publish一个自定义Form的属性?(100分)

  • 主题发起人 主题发起人 softdog
  • 开始时间 开始时间
S

softdog

Unregistered / Unconfirmed
GUEST, unregistred user!
我从TForm继承一个类TMyForm,该类自定义了几个属性。
有什么办法可以使这些属性出现在对象管理器中呢?
或是根本不可以?
 
只要把这些属性标为 published 就可以了。
 
to ddev:
如果是普通的控件,可以这样。
但是如果是从TForm派生一个子类。在这个子类中published了的属性,并不会在对象管理器中出现。
 
是的,是这样的。
 
菜单"Add to Repository ..."就可以了
 
光 Add to Repository 是不够的,是看不到自定义的 Property 和 Event 的.详细步骤:
1、Publish 你自定义的 Property 或 Event;
2、利用 "Add to Repository" 将你自定义的 Form 加入到 "Object Repository";
3、将你的 Form 加入到一个 Package;
4、在你的 Package 中某单元(如你的 Form 对应的 Pas 单元)中加上如下几行:

interface
...
procedure Register;
...
implementation
uses DsgnIntf; //D5 中是该单元
...

procedure Register;
begin
//假设 TMyCustomForm 是你自定义的 Form
RegisterCustomModule(TMyCustomForm, TCustomModule);
end;

5、编译你的 Package, 利用 "Install Package" 将它安装到 IDE 中,现在你可以从
File|New... 菜单的向导中选择 "Inherited" 的方式新建一个刚才你自定义的 Form
了,注意你自定义的 Property 和 Event 也会出现在 Object Inspector 中。

 
呵呵!多谢bbkxjy大侠!
 
后退
顶部