1

我们正在将 Delphi XE2 应用程序迁移到 Delphi XE5(我们有一个窗口 :))

我想知道,作为迁移的一部分,我是否应该考虑将我自己的 Unit Scope 添加到我们的内部应用程序中。 这个问题表明它只是将单位重命名为Company.Unit的情况。

是否像在项目管理器 中使用重命名一样简单?

我错过了什么吗?

4

2 回答 2

3

几乎就是这么简单。您可以在项目管理器中使用重命名操作,这将重命名文件,为单元指定新名称,并更改 .dpr 和 .dproj 文件中的引用。但这不会重命名代码中的任何引用。

因此,如果您在子句中列出单元uses(似乎您会这样做),或者使用单元名称来解决模棱两可的范围,那么您也需要在那里更改名称。

如果您没有太多单元,那么在项目管理器中进行更改不会很困难,然后修复编译器向您抛出的所有错误。如果您有一个更大的项目,那么您可能会更好地编写更改脚本。我希望您可以使用一个简单的基于正则表达式的脚本来完成 99% 的工作,该脚本执行以下操作:

  1. 更新 .dpr 和 .dproj 文件中的引用。
  2. 更改文件名和单位名称。
  3. 找到使用子句(接口和实现部分)并在那里更新参考。

这将让您处理执行范围解析的用途,我的猜测是这些用途的数量足以让编译器找到它们。

于 2013-09-30T08:44:34.133 回答
2

我使用来自http://www.easy-ip.net(DELPHI UNIT DEPENDENCY SCANNER)的一个很棒的工具来完成这项任务。您可以更改单位的名称,DUPS 会更改您的所有使用条款。

于 2013-10-01T05:24:55.253 回答