是否可以在一个具有不同Delphi版本的FMX表单上工作?

时间:2016-05-19 19:07:42

标签: delphi delphi-xe4 delphi-10.1-berlin

我使用Delphi 10.1 Berlin。我的一个朋友得到了Delphi XE4。

我想修改属于FMX表单的代码。代码和表单是用XE4编写的,需要在XE4中保持可编辑状态。如果我编辑10.1 IDE中的代码并保存我的更改,Delphi会修改源代码(添加单位)并转换表单(FMX文件) 到一种新的格式。如果在XE4中编译此修改后的表单,则会导致多个错误。

是否可以告诉Delphi不要进行这些修改?

BTW:

  • 如果我在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 ... 
    

1 个答案:

答案 0 :(得分:3)

  

是否可以告诉Delphi不要进行这些修改?

不,不是。 DFM / FMX文件是IDE管理的和特定于版本的,并且一直都是。您应为每个IDE版本维护单独的DFM / FMX文件。

通常确定让较旧的IDE发出警告并忽略较新IDE添加的属性。还有一些第三方工具可以在旧的IDE中打开之前从DFM / FMX文件中删除更新的属性。