package的问题,大家看看有没解决方法(200)

  • 主题发起人 主题发起人 Mzh
  • 开始时间 开始时间
M

Mzh

Unregistered / Unconfirmed
GUEST, unregistred user!
主程EXE使用编译时使用Build with runtime packages 把主程打开时自动加载共用包,但把编译出来的文件放到其它电脑上(没装Delphi)运行则找不到VCL70.BPL等等的包,把这些在SYSTEM32的*。BPL复制到工程事运行正常,是不是一定要把这些Delphi自带的包放到工程中才能运行正常,有没有其它方法可以自带上这些包的加载。
 
为什么要用Build with runtime packages呢?难道exe大小很重要吗?现在的PC配置已经很强劲了,完全没有必要去考虑文件大小的问题吧?我觉得你不要舍易求难,就算你用其它的方法实现了,实际上还是多了一堆的库文件,这和VB的程序有什么区别?你要真正的减小可执行文件的体积,根本的办法是在代码上下功夫!如果你的程序不是很复杂,可以只应用Windows单元来编代码,否则,你可以用类似UPX的东东压一下,至于你的“自带上这些包的加载”的想法,个人觉得毫无意义及必要,趁早放弃,不要瞎折腾。
 
bpl其实就是dll文件。带包编译除了能缩小主程序体积外,有时可能有与dll等的内存共享等方面的考虑。带包编译的,必须在发布程序时带上这些库文件。
 
按楼上说的,发布时候需要发布支持包;使用bpl有他自己的好处,比如在线更新,一般来说只更新exe而不必更新其他包,如果对开发包进行了更细的划分,可以实现插件功能,这都是很有好处的,不过对是开发者要求高,细分包需要下很大工夫,再者使用包的话,版本一致的问题是需要考虑的
 
后退
顶部