我使用的是Delphi 10.1 Berlin。我的一个朋友买了Delphi XE4。
我想修改属于FMX表单的代码。该代码和表格是用XE4编写的,需要在XE4中保持可编译性。如果我在10.1 IDE中编辑代码并保存更改,则Delphi会修改源代码(添加单位)并转换表格(FMX文件)
更改为新格式。如果在XE4中编译了此修改后的格式,则会导致多个错误。
是否可以告诉Delphi不要进行这些修改?
顺便说一句:
如果我在IDE之外编辑代码,一切似乎都可以正常工作。
Delphi 10.1正在添加单位(例如FMX.ComboEdit, FMX.ScrollBox, FMX.Controls.Presentation
),即使这些单位已经存在但已定义,例如:
{$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 ...
最佳答案
是否可以告诉Delphi不要进行这些修改?
不它不是。 DFM / FMX文件受IDE管理且特定于版本,并且一直存在。您应该为每个IDE版本维护单独的DFM / FMX文件。
通常可以让较旧的IDE警告并忽略由较新的IDE添加的属性。并且有一些第三方工具可以浮动,这些工具会在您在较旧的IDE中打开文件之前从DFM / FMX文件中删除较新的属性。
关于delphi - 是否可以在具有不同Delphi版本的一种FMX表单上工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37332075/