我想采用exe+bpl方式组织程序,将功能模块放在bpl中。有几个问题
1,主程序中,我选择了’Build with runtime packages',然后点击Add添加我自己的包,为什么找的却是后缀为dcp的文件呢?
2,我把自己的bpl包的OutPut Derectory设置为d:\bpl,但是编译后,Pub.dcp却是在D:\Program Files\Borland\Delphi7\Projects\Bpl中,这是为什么呢?
3,在发布软件的时候,只需要把exe文件和bpl包一起安装就可以了呢?

解决方案 »

  1.   

    3是正确的
    DCP是编译包的目标代码,类似DCU
      

  2.   

    1,主程序中,我选择了’Build   with   runtime   packages',然后点击Add添加我自己的包,为什么找的却是后缀为dcp的文件呢? 编译器需要额外的信息来管理这些bpl。所以他引入了一个dcp文件,dcp就是delphi compiled package,就是用来存储这些与包有关的额外的信息的,比方说对应的bpl里都有哪些单元,类等等,所以你要添加dcp文件而不是bpl.2,我把自己的bpl包的OutPut   Derectory设置为d:\bpl,但是编译后,Pub.dcp却是在D:\Program   Files\Borland\Delphi7\Projects\Bpl中,这是为什么呢? delphi把自己知道(曾经编译过的, install过的)的包的信息文件都放在这里,所以他编译其他包的时候就可以分别出那些单元已经在别的包里面了,不必编译到这个包里面了,编译exe的时候,如果build runtime package指明了一些包,他就可以从这些dcp中了解到那些单元不必编译到exe,而代之以一个可重定位符号链接