2

我使用 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),即使这些已经存在但 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 ... 
    
4

1 回答 1

3

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

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

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

于 2016-05-19T20:01:49.160 回答