delphi - Delphi 的 VCL 中的命名空间兼容性

标签 delphi delphi-7 delphi-xe6

如何才能最好地保持 Delphi 7 到 Delphi XE7 之间使用的命名空间的兼容性?

Delphi 7 使用 SysUtils,而 Delphi XE7 使用 System.SysUtils。

许多 ifdef 使代码变得非常困惑,所以我想尽可能避免它。

最佳答案

在支持命名空间前缀的 Delphi 更高版本中(我相信是 XE2 及更高版本),您可以在项目选项中定义命名空间。

项目选项 > Delphi 编译器 > 单元范围名称

然后,您不需要在 use 子句中包含这些前缀。

默认情况下,新项目将自动为您包含其中的大部分内容。但是,如果您要升级旧项目,尤其是包,则默认情况下可能不会填充这些项目。我有an incident Delphi 随机开始无法编译,因为这些单元缺少 namespace 前缀。

关于delphi - Delphi 的 VCL 中的命名空间兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29197359/

相关文章:

performance - 如何提高填充大量 TreeView 的性能?

delphi - 为什么要在对象方法中检查Assigned(self)?

Delphi,如何在鼠标移动时显示覆盖控件

delphi - 为什么编译器会跳过分配变量

android - Delphi XE6 FireMonkey 中的 TVertScrollBox 非常非常慢。使固定?

delphi - 通过MSBuild并行编译delphi项目

Delphi 10.3 函数 CharUpper 和 CharUpperW 不同 Delphi 10.4

delphi - 如何使用 EncdDec 库对字符串进行编码

delphi - 无法理解Delphi XE6保护类型

android - DELPHI XE5 如何在 ANDROID 中发送带送达通知的短信