我在Delphi 7程序中有这个常量.他们没有在Delphi XE下编译.
TYPE TSingleChar= AnsiChar; CONST noData: TSingleChar= '.'; Ambiguity= ['x']; DNA_Ambig= ['x',noData]+ Ambiguity;
[DCC Error] E2026 Constant expression
expected.
解决方法
“修复”它像这样:
TYPE TSingleChar= AnsiChar; CONST Const_noData = '.'; noData: TSingleChar= Const_noData; Ambiguity= ['x']; DNA_Ambig= ['x',Const_noData]+ Ambiguity;
就编译器而言,Const_noData是一个真正的const,允许您使用它初始化noData和DNA_Ambig.而你仍然尊重DRY原则,即noData只有一个定义,即Const_noData.