***(高分求助)*** 请问将Form打包在BPL中后,引用该BPL的工程能否从BPL中的Form进行继承?

解决方案 »

  1.   

    可以的,不过包含父类的包最好在程序初始时就已经load.
    另:建立工程组管理
    调试时选择runtime packages
      

  2.   

    又看了一下你原来的问题,其实没有必要做成.bpl
    >>删除dfm文件,编译是可以通过,但是没有办法进行继承。这样:删除dfm文件文件是没有问题的,但是form上那些控件的属性你要在你的 form.oncreate的时候写上并create:btn1 := TButton.create(self);
    btn1.caption := ...
    btn1.left := ...
    btn1.parent := self;...这样就可以可以删除.dfm和.pas了
      

  3.   

    哦,不是oncrate,而是这样:
    constructor tmyform.Create(AOwner: TComponent);
    begin
      inherited;
      mybutton := TButton.Create(self);
      mybutton.Parent := self;
      mybutton.Top := 100;
      mybutton.Left := 100;
      mybutton.Caption := 'MyButton';
      mybutton.OnClick := mybuttonclick;
    end;procedure tmyform.mybuttonclick(sender:TObject);
    begin
      showmessage('ok');
    end;
      

  4.   

    chwdong(chwdong) :
      你的意思是使用动态包吗,那么在设计时,子类怎么继承呢?我想子类继承之后在设计界面能作一些东西,如果是使用动态包还可以这么作吗?flyinwuhan(制怒·三思而后行) 
      多谢你的回答,但你这样的方法,如果我的基类有大量的控件,按照你的方式,岂不是很复杂,而且我也没有办法在设计界面中去对子类作设计了。