我使用 Delphi 10.1 Berlin。我的一个 friend 拥有Delphi XE4。
我想修改属于 FMX 表单的代码。代码和表单是用 XE4 编写的,并且需要在 XE4 中保持可编译性。如果我在 10.1 IDE 中编辑代码并保存更改,Delphi 会修改源代码(添加单元)并转换表单(FMX 文件) 到新的格式。如果在 XE4 中编译此修改后的形式,则会导致几个错误。
是否可以告诉Delphi不要进行这些修改?
顺便说一句:
- 如果我在 IDE 之外编辑代码,一切似乎都工作正常。
Delphi 10.1 正在添加单元(例如
FMX.ComboEdit、FMX.ScrollBox、FMX.Controls.Presentation
),即使这些单元已经存在但 ifdefed,例如:{$IFDEF DELPHIX_BERLIN_UP} FMX.ComboEdit, FMX.ScrollBox, FMX.Controls.Presentation {$ENDIF} FMX.ActnList;
修改为
{$IFDEF DELPHIX_BERLIN_UP} FMX.ComboEdit, FMX.ScrollBox, FMX.Controls.Presentation {$ENDIF} FMX.ActnList, FMX.ComboEdit, FMX.ScrollBox, FMX.Controls.Presentation;
导致编译器错误:
E2004: Identifier redeclared: FMX.ComboEdit ...
最佳答案
Is it possible to tell Delphi not to do these modifications?
不,事实并非如此。 DFM/FMX 文件始终由 IDE 管理且特定于版本。您应该为每个 IDE 版本维护单独的 DFM/FMX 文件。
让较旧的 IDE 发出警告并忽略较新的 IDE 添加的属性通常是可以的。还有一些第三方工具可以在您在较旧的 IDE 中打开 DFM/FMX 文件之前从其中删除较新的属性。
关于delphi - 是否可以在一种 FMX 表单上使用不同的 Delphi 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37332075/