关于控件运行包的编译问题(100)

  • 主题发起人 主题发起人 HsyPrg
  • 开始时间 开始时间
H

HsyPrg

Unregistered / Unconfirmed
GUEST, unregistred user!
  请问如何才能在编译EXE时只包含DELPHI自带RUNTIME PACKAGE;而对于自己写的RUNTIMEPACKAGE不包含到EXE中;  我之前已经搞定了一个exe+多bpl的运行架构,运行稳定良好。唯一的问题就是在没装delphi的机上需要发布rtl70.bpl,vcl70.bpl等众多delphi的运行包;这是因为我我有一些包是runtime类型的,所以在编译主EXE时选择了build with runtime package选项;  我现在就想找个办法,既能保证自己写的几个runtime包能不包含编译到exe中,又可以发布时不需要带delphi自带的那些运行包。 我现在测试的结果是,好像在delphi编译exe时,要么就将包全部编译到其中,要么就全部是runtime模式,没有折衷的方式?  不知道哪位前辈试过这种方式,望指教一二!
 
没有dcu的情况下,bpl就没办法编译中exe中
 
TO 白河愁: 不明白你的意思,都有dcu文件。
 
你删掉,就米有了。
 
以前有一個朋說過一個思路,新建一個包,加入Rtl70,vcl70.bpl等這些運行時包,重新編譯,然後自己的項目中把有用到rtl70等這些包替換成自己新建的包就行了。我閒替換太麻煩了,就沒有試。
 
大概知道原因了,是因为一个公用包GlbSFEUPVstdlib.dpk中包中包含了rtl,vcl等delphi的运行时包,所以一包含则全包含一去除则全去除。TO hgood,  我觉得你这个朋友的思路也许是可行的,我不怕麻烦,我来试一下先。
 
但好像包对包只能引用,不能把它编译到里面呢.
 
昨天尝试了将所有运行包封入一个包中d7runtime.bpl;证实这个思路是可行的,不过麻烦也是肯定的,因为以后每增加一个模块,都得去修包中的required;麻烦是次要的,关键我有一个公用包还是组件类型的,这样就没办法了,只要加入d7runtime就没办法安装到delphi中,delphi会提示d7runtime与rtl所含的单元有重复的。看来只好带一大批bpl发布了,看来这是选择exe+bpl必须付了的代价吧;
 
后退
顶部