包(pack)使用中的迷惑, 如何只将自己写的pack不编译进程序? (100分)

  • 主题发起人 主题发起人 zhang w.
  • 开始时间 开始时间
Z

zhang w.

Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi中的pack非常适合切分程序,但是当我选择‘build with runtime’编译程序时(框
中之填写了我自己写的pack)发现:我自己写的pack是没编译进程序,但delphi's Vcl50.bpl
等runtime pack也没编译进程序,程序是变得只有十几k大小。不过分发时要是加上Vcl50.bpl
等runtime pack,那程序可就是恐龙级的了。

请教:
如何只将自己写的pack不编译进程序?delphi自身如:Vcl50.bpl等可要编译进程序。


 
似乎没有办法。
 
不能将Vcl50.bpl的内容编译进你的 Exe,而只动态链接你自己的 bpl 的,因为你的 bpl
必然要调用 VCL50.bpl 所引出的函数,所以只能将 VCL50.bpl 与主 EXe 分开,也动态地
加载。好象有一种办法是利用 VCL 的源代码,建立自己的一个 VCL50.bpl 的子集 bpl,只
包含自己主 exe 和其它 bpl 中要用到的标准控件,就可以减小分发 VCL50.bpl 的负担。
那样要求自己写那些标准控件的注册单元,并加入到新的独立的包中进行编译,而且这个包
是基本的,它不需要其它的 bpl。考虑到各单元之间的复杂的引用关系,要做到这点也是比
较麻烦的。
 
这个问题值得讨论,帮你放到"IDE/使用技巧"里面来了
 
好像不好办,除非用dll等
 
有好辦法告訴兄弟
 
如果你自己不新建Pack ,而加到系统默认的那个包中。编译的时候包括所用(系统默认)的包,程序也不会大到那里去吧。
我自己只有在发布带BDE的程序的时候才不带包编译程序(充分减少分量),顺便发布所有用到的包。
如果你只有一个可执行程序,犯不上用如你上边的办法。不如找个压缩软件,压缩一下。
 
后退
顶部