如何才能最好地保持 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/