搞什么,我生成了一个bpl函数库里面有一个单元Func.unt我新建一个应用程序要引用bpl的Func.unt的里的一个函数,我use了Func,编译还要我提供Func.pas(dcu)文件,我把搜索路径加进去了,岂有此理,那我的bpl有什么用?应用程序直接把Func.unt编译进去了

解决方案 »

  1.   

    bpl 我的理解, 就象一個項目文件, 裹面主要定義引用的文件, 文件的一些配置, 如要依賴其它的什麼文件之類的
      

  2.   

    如果你的BPL通过Install Package安装进去后就不需要PAS和DCU文件,可以直接引用那个单元了
      

  3.   

    不对吧,Install package也是只是生一个bpl文件,生成dcu文件,只不过他们的路径都在Delphi默认的搜索路径时,不信删掉看,行不行
      

  4.   

    一般我们拿到bpl还要安装生成dcu文件才能用
    不然用package,加载进去
      

  5.   

    BPL+DCU才能编译的
    BPL,Delphi的库,本质是DLL
    DCU,PAS编译结果BPL是保存对象信息的,用于Design Time的才能被加载http://lysoft.7u7.net
      

  6.   

    bpl本质上是一个Borland格式的dll(动态链接库),里面包含了dpk工程中有的所有信息(包括所有单元的信息)。比如在Delphi IDE中Install Package可以安装bpl中包含的组件到组件面板上,并可以马上使用这么组件(即使对应的pas或者dcu不存在)。
    理论上,如果动态加载bpl(就像动态加载dll一样),就可以使用其中的任何类、组件。但是在实际中,我们一般都是先Install Package一个bpl,然后通过使用面板上的组件来做开发,那么这个时候的编译工作就必须要用到对应的pas或者dcu,因为编译器要执行语法、函数参数检查等工作。