我正在使用embarcadero的XE6版本并尝试了这个:
const
Elements = 2;
SUPPORTED_EXTENSIONS : array[1..Elements] of String = ('.jp2', '.j2k');
错误:预期';'找到' ='
而且:
Const
SUPPORTED_EXTENSIONS : TArray<String> = ['.jp2', '.j2k'];
错误:输入&#39; TArray&#39;还没有完全定义
如何定义此数组?
答案 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');