我用最新的 Indy 软件包更新了 Delphi 2007。我已将
core/protocols/system
目录放入库路径中。当我创建一个新应用程序时,一切正常。它编译并运行正常。尝试编译之前编译正常的现有应用程序,我立即收到错误“[DCC Error] E2202 Required package 'IndyCore'
”。如何解释这种不同的行为?
IndyCore
,及其兄弟 IndySystem
和 IndyProtocols
(名称中没有)来自 Embarcadero 预装 IDE 的 Indy 副本。 Embarcadero 在启用 {$LIBSUFFIX}
的情况下编译其副本,因此项目通过名称而不 版本号引用这些 Indy 包。 Indy 的 GitHub 版本尚未启用
{$LIBSUFFIX}
(请参阅:https://github.com/IndySockets/Indy/issues/133)。 如果删除捆绑版本并安装 GitHub 版本,项目将必须引用带有版本号的 Indy 包,即 D2007 的
IndyCore110
等。所以,您之前的项目使用的是捆绑版本,而您的新项目使用的是 GitHub 版本。