【发布时间】:2013-07-27 06:24:09
【问题描述】:
我正在使用 Delphi XE2。我有一个大型项目,它有一个使用运行时包的应用程序 (EXE)、一个 Core.bpl 自定义包(由 EXE 使用)和几个其他自定义 Plugin.bpl 包也使用 Core.bpl 包(作为运行时包)。
我注意到我可以对Core.bpl 进行细微更改,而无需重新编译EXE 或自定义Plugin.bpl 包。但是更重要的更改(添加大量代码或从现有方法中删除大量代码,或添加新方法)会导致问题。有时会出现不一致的访问冲突,有时会出现Core.bpl包中缺少入口点等错误。
我想尽量减少编译的文件数量,以便我们的用户每次发布时要更新的文件更少。但是,我不希望他们看到我有时会看到的错误。
我是否应该在每次更改时重新编译使用 Core.bpl 的所有模块和 EXE,或者是否有一些一般规则要遵循,以便仅针对 Core.bpl 的某些类型的更改编译所有内容?
【问题讨论】:
-
如果你改变了接口,那么你必须重新编译所有的依赖部分
-
@SirRufo 让它成为答案..
-
@SirRufo - 也就是说,如果您添加、更改或删除方法或属性,那么您必须重新编译所有内容,但如果您只是更改现有方法的代码而不更改其参数,那么什么都不需要重新编译?
-
感谢@bummi 提供更多信息。
-
修改私有成员也会改变界面。基本上,在
implementation行之上所做的任何更改都需要重新构建所有相关代码。