bpl包中有个public.pas函数,修改里面的函数,增加参数,编译通过后,在其他包调用时函数没变,还是原来的参数,编译时还提示too many actual parameters,但在bpl包中其他模块调用时正常.另外新增函数,在包外调用时也提示函数未定义。

解决方案 »

  1.   

    bpl如果只是修改了函数内容,调用的地方也不必修改。如果修改函数的参数,增加了函数或者全局变量,调用必须重新编译甚至修改。
      

  2.   

    另外,bpl包一点都不好,除了程序能够小一些外。如果为了升级和维护方便,一般采用主程序,dll+bpl包的方式。
      

  3.   

    修改了函数原型,所有调用到这个函数的包,都必须重新编译。你提到的“编译时还提示too many actual parameters”问题,肯定是你public.pas所在包的dcp路径没有被搜索到。