Delphi XE中的集合与它们在D7中的工作方式不同

前端之家收集整理的这篇文章主要介绍了Delphi XE中的集合与它们在D7中的工作方式不同前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Delphi 7程序中有这个常量.他们没有在Delphi XE下编译.
TYPE
  TSingleChar= AnsiChar;

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

[DCC Error] E2026 Constant expression
expected.

> XE中我的旧代码无法编译的内容是什么?
>我认为代码实际上被解释为Unicode.我对么?

解决方法

“修复”它像这样:
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.

原文链接:https://www.f2er.com/delphi/101933.html

猜你在找的Delphi相关文章