将 Delphi XE 升级到更新版本

Upgrade Delphi XE to newer version

我必须将项目的 Delphi XE 安装更新到 Delphi 的较新版本,但我对 Delphi 没有太多经验,问题是里面有很多旧的包和组件。 当我安装一个新版本时,我是否必须再次安装所有组件(如果可以在这个新版本中安装它)或者它是否像我的旧安装的更新并且所有已安装的东西现在也在新版本中?

升级到更新版本的 Delphi 可能不是一件容易的事。

您将 运行 解决的第一个问题是第三方组件。

如果您不拥有它们的源代码,则意味着它们带有预编译包,不幸的是,这些包在不同的 Delphi 版本之间不兼容。

如果您有它们的源代码,您也许可以在较新的 Delphi 版本上重新编译它们,但这可能需要您进行一些代码更改。

因此,我强烈建议您首先检查是否有可用的这些组件的更新版本支持您计划升级到的 Delphi 版本。

例如,如果您的应用程序依赖于旧版本 Delphi 附带的 BDE(Borland 数据库引擎),您将被迫进行相当多的更改以正确设置新版本附带的 FireDac 数据库框架delphi 个版本。

将 Delphi XE 应用程序更新为更新的 Delphi 通常非常容易。唯一严重的问题可能是您必须在较新的 Delphi 版本中安装第三方组件。与每个组件供应商核实是否存在适用于您的目标 Delphi 版本的版本。

我始终强烈建议不要使用任何没有可用源的第三方组件。也不要购买任何使用 DLL、OCX 或其他外部二进制对象的第三方组件。

当您购买第三方组件时,请始终购买它的源代码。然后丢弃任何预构建包或 dcu,并在任何正式使用之前重新编译所有内容。这样您就可以确保拥有所有必需的源代码并使用该源代码。

获得源代码后,移植到下一个 Delphi 版本就容易多了。通常没有什么可以改变的(过去在 Delphi 2007 年和 Delphi 2010 年引入 Unicode 字符串时只有一个值得注意的例外)。

当有什么要改变的时候,通常只是一个"used"单位的名字。有时 Embarcadero 将一个 class 从一个单元移动到另一个单元。有时,您必须更改指定 Delphi 版本的 $IFDEF。查看 {$IFDEF VER180} 和类似的以适应您当前的版本(有关此类符号,请参阅联机帮助)。

如果您还有问题,请在这里提问...