定义const数组定义

时间:2015-02-03 12:09:49

标签: delphi delphi-xe6

我正在使用embarcadero的XE6版本并尝试了这个:

 const
Elements = 2;
SUPPORTED_EXTENSIONS : array[1..Elements] of String = ('.jp2', '.j2k');

错误:预期';'找到' ='

而且:

Const
SUPPORTED_EXTENSIONS : TArray<String> = ['.jp2', '.j2k'];

错误:输入&#39; TArray&#39;还没有完全定义

如何定义此数组?

1 个答案:

答案 0 :(得分:4)

const
  Elements = 2;
  SUPPORTED_EXTENSIONS : array[1..Elements] of String = ('.jp2', '.j2k');

此代码是正确的并且编译。您报告的编译错误是针对不同的代码段,问题中不存在。

Const
  SUPPORTED_EXTENSIONS : TArray<String> = ['.jp2', '.j2k'];

XE7中引入了恒定动态数组。它们不适用于XE6。所以这段代码不能编译。您为第二个代码摘录报告的错误消息也与问题中的代码不匹配。此代码导致此错误:

  

E2001所需的序数类型

所以,我给你的主要建议是更加小心你的工作。发布与您提供的代码不匹配的错误消息表明存在一定程度的混淆。走得更慢。检查并仔细检查。

顺便说一下,我建议您更喜欢从零开始的数组索引。所以我会这样写:

const
  ElementCount = 2;
  SUPPORTED_EXTENSIONS: array [0 .. ElementCount-1] of String = ('.jp2', '.j2k');