我使用的是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/

10-12 21:06