我在 Delphi 7 程序中有这个常量。它们不是在 Delphi XE 下编译的。

TYPE
  TSingleChar= AnsiChar;

CONST
  noData: TSingleChar= '.';
  Ambiguity= ['x'];
  DNA_Ambig= ['x', noData]+ Ambiguity;


  • XE 中哪些更改导致我的旧代码无法编译?
  • 我想代码实际上被解释为 Unicode。我对么?
  • 最佳答案

    像这样“修复”它:

    TYPE
      TSingleChar= AnsiChar;
    
    CONST
      Const_noData = '.';
      noData: TSingleChar= Const_noData;
      Ambiguity= ['x'];
      DNA_Ambig= ['x', Const_noData]+ Ambiguity;
    

    就编译器而言,Const_noData 是一个真正的常量,允许您使用它来初始化 noDataDNA_Ambig。而且您仍然尊重 DRY 原则,即 noData 只有一个定义,即 Const_noData

    10-06 02:38