我有一个 共用的代码包 uCommon.bpl 里面是我积累的代码。
现,又写了2种包。
1、某些控件的扩展
2、TForm的扩展(也就是丢了一些控件,准备任何程序都能抓过来就用的)话题一: 我想把uCommon.bpl里的代码直接包含在这2种包中,也就是发布的时候,不带uCommon.bpl可以吗?
话题二:主程序我runtime buil with 只有 1,2 包,没有添加 uCommon。这样做的话。
那么以上3种包,各自是用设计期,还是运行期呢?PS:我只是不想发布的时候带上uCommon.bpl

解决方案 »

  1.   

    话题1补充:但是你新的包1和包2都编译uCommon.bpl的源代码的话就会有问题,因为应用程序加载的包中,不允许包含相同的单元,你必须把它们抽出来。
      

  2.   


    那么我主程序中Build with runtime packages 里,不写 uCommon 
    是不是就可以不用发布uCommon.bpl
    (我的理解是,不写的话,就可以直接编译进来了,是不是这样?)
      

  3.   

    之前已经说了,包引用是具有传递性的,即使你主程序没写,但是你的新包1用到了uCommon,就要连uCommon一起发布。其实混着用也没什么的,我一般都是界面DLL,逻辑BPL。不过比较烦人的是好些控件包中都用过registerclass,于是就只好在DLL带上这个控件的包了,不能完全把控件的源代码编译进DLL中。