Bootstrap

Delphi中BPL包的使用,个人经验

    用包可以分模块编写功能,方便开发阶段的组织,同时也便于后期的升级维护,使升级的粒度越来越少(也是用了C#的类库之后的感悟)。下面写几点经验

一、不要用Delphi本身的bpl,把delphi自身的包中的单元取出来,合并成一个bpl。

二、不要直接用三方控件的安装包,也要自己建一个包,把单元文件中加进去,编译成新包。

以上两点可以有效避免包编译时的错误 Never-build package 'a' requires always-build package 'b'。

三、有时候包中写的功能不能正常运行,老是内存地址错误,我在用DEV控件的时候就出现过两例。

      1、打印功能放在包中实现不行

       2、chart图表控件放在包中不行

我的解决办法是  1、将功能的实现放在主程序exe中。2、各个业务模块(bpl)通过接口调用主程序中的功能,将接口定义在公共单元(模块)中。

     有谁知道造成这个问题的原因,或者其它解决办法,欢迎留言。

;