请教下DLL能否实现:一个DLL中的窗体继承另一个DLL中的窗体?
应该怎么实现呢?
像BPL那样做个BaseForm的基类包,然后其它包引用这个包,从而调用里面继承窗体?

解决方案 »

  1.   

    dll与bpl不同,bpl中的有类信息而且经过编译器处理在exe和bpl的类定义是相同的
    而DLL中的类只能在本DLL里继承,不能让外部继承,因为exe和dll之中的类定义是不同的
      

  2.   

    那似乎感觉BPL比DLL好用些哦,,那DLL比BPL好的地方只是跨语言调用?
      

  3.   

    也不能这么说bpl只有delphi认识,而且引用规则很严谨,有时候各种互相引用编译时反而会比较麻烦
      

  4.   

    明确的告诉你,不能。两个进程空间的东西。
    如果都是用delphi。可以通过在dll中输出接口对象的方式,供另一个dll调用。
      

  5.   

    继承跟DLL、BPL没有什么关系。
    如果用BPL,程序运行体积比较小——不用每次都加载基类包。而如果用DLL,则加载一个DLL,需要同时载入基类代码。
      

  6.   

    我是说BPL中各BPL间可以实现窗体继承,DLL中各DLL似乎不能实现窗体继承
    看来如果用DLL+bPL+EXE似乎比较合理。Dll封装公用函数,
    BPL封装窗体