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 names。 Vcl.Forms
在 Delphi 的旧版本中不存在。相反,它应该只是 Forms
.
原因是因为DelphiXE2引入了Firemonkey框架。 Firemonkey 还需要区分 Vcl.Forms
和 Fmx.Forms
。这同样适用于许多其他单位,例如 Graphics
。 Delphi 2010 没有 Firemonkey,所以它还没有强制执行这个前缀。
如果您需要在 Delphi 2010 和 Delphi 10 Seattle 中编译代码,请仅在 uses
子句中指定基本单位名称(Forms
、Graphics
, 等),并确保您的 Delphi 10 Seattle 项目在 Project > Options > Delphi Compiler > Unit scope names
中设置了必要的范围(Vcl
、Winapi
等)。默认情况下,新项目应该已经有这个了。如果没有,您可以添加 Vcl
和您需要的任何其他前缀。这将确保即使您在代码中仅指定 Forms
,编译器也可以找到 Vcl.Forms
。
Delphi 10 Seattle 和 Delphi 2010
之间似乎存在兼容性问题我用 Delphi 10 Seattle 写了一个学校项目,但我的老师仍然使用 Delphi 2010。当我在 Delphi 2010 传输并打开源代码时出现错误.
我已经在我的电脑上安装了 2010 来重现错误(下面的屏幕截图)
"File not found Vcl.Forms.dcu"
想知道如何让它发挥作用,marking/moderating 发生在 Delphi 2010 年。
Unit scope names。 Vcl.Forms
在 Delphi 的旧版本中不存在。相反,它应该只是 Forms
.
原因是因为DelphiXE2引入了Firemonkey框架。 Firemonkey 还需要区分 Vcl.Forms
和 Fmx.Forms
。这同样适用于许多其他单位,例如 Graphics
。 Delphi 2010 没有 Firemonkey,所以它还没有强制执行这个前缀。
如果您需要在 Delphi 2010 和 Delphi 10 Seattle 中编译代码,请仅在 uses
子句中指定基本单位名称(Forms
、Graphics
, 等),并确保您的 Delphi 10 Seattle 项目在 Project > Options > Delphi Compiler > Unit scope names
中设置了必要的范围(Vcl
、Winapi
等)。默认情况下,新项目应该已经有这个了。如果没有,您可以添加 Vcl
和您需要的任何其他前缀。这将确保即使您在代码中仅指定 Forms
,编译器也可以找到 Vcl.Forms
。