Delphi兼容性问题

Delphi compatibility issue

Delphi 10 Seattle 和 Delphi 2010

之间似乎存在兼容性问题

我用 Delphi 10 Seattle 写了一个学校项目,但我的老师仍然使用 Delphi 2010。当我在 Delphi 2010 传输并打开源代码时出现错误.

我已经在我的电脑上安装了 2010 来重现错误(下面的屏幕截图)

"File not found Vcl.Forms.dcu"

想知道如何让它发挥作用,marking/moderating 发生在 Delphi 2010 年。

在 Delphi XE2 中添加了

Unit scope namesVcl.Forms 在 Delphi 的旧版本中不存在。相反,它应该只是 Forms.

原因是因为DelphiXE2引入了Firemonkey框架。 Firemonkey 还需要区分 Vcl.FormsFmx.Forms。这同样适用于许多其他单位,例如 Graphics。 Delphi 2010 没有 Firemonkey,所以它还没有强制执行这个前缀。

如果您需要在 Delphi 2010 和 Delphi 10 Seattle 中编译代码,请仅在 uses 子句中指定基本单位名称(FormsGraphics, 等),并确保您的 Delphi 10 Seattle 项目在 Project > Options > Delphi Compiler > Unit scope names 中设置了必要的范围(VclWinapi 等)。默认情况下,新项目应该已经有这个了。如果没有,您可以添加 Vcl 和您需要的任何其他前缀。这将确保即使您在代码中仅指定 Forms,编译器也可以找到 Vcl.Forms