delphi定义一个静态和动态元素混合的const多维数组
在创建多维数组时,是否可以混合使用静态数组和动态数组,然后使用它们定义该类型的常量。 编译器似乎没有以下问题,所以我认为这样混合动态和静态数组是合法的delphi定义一个静态和动态元素混合的const多维数组,delphi,pascal,Delphi,Pascal,在创建多维数组时,是否可以混合使用静态数组和动态数组,然后使用它们定义该类型的常量。 编译器似乎没有以下问题,所以我认为这样混合动态和静态数组是合法的 TSoftKeyBase = (skEmptyCommandLine, skChannelsSelected); TSoftKeySet = array of array of String; TSoftKeys = array[TSoftKeyBase] of TSoftKeySet; 当我试图为这个数组定义常量时,我总是在元素的内部列表中得
TSoftKeyBase = (skEmptyCommandLine, skChannelsSelected);
TSoftKeySet = array of array of String;
TSoftKeys = array[TSoftKeyBase] of TSoftKeySet;
当我试图为这个数组定义常量时,我总是在元素的内部列表中得到“Ordinal type required”。我是否超越了语言的范围
const
SOFT_KEYS: TSoftKeys =
[
[
['Select Previous', 'Page', 'Close', 'SC', 'Park', 'MORE >'],
['Output', 'FX', 'Macro', 'Select Active', 'Select Changed', 'MORE >'],
['Cue List', 'Re Cue List', 'Load', 'Inclusive Mode', 'Active Sel Mode', 'MORE >'],
['If', 'View', 'Scroll To', '', '', 'MORE >']
],
[
['Select Previous', 'Last', 'Next', 'Clear Selection','Park', 'MORE >'],
['Down %', 'Up %', 'Home', 'Select Active', 'Select Changed', 'MORE >'],
['Virtual DSC', 'HiLight', 'LoLight', 'Fan', 'Offset', 'MORE >'],
['', '', '', '', '@ ATTs', 'MORE >']
]
];
您需要在最外层使用普通括号(
array[TSoftKeyBase]
),因为它是一个静态数组(而不是动态数组或集合)
更简单的例子:
type
TTest = array[0..2] of Integer; // static array
const
Data: TTest = (10, 20, 30);
及
及
您需要在最外层使用普通括号(
array[TSoftKeyBase]
),因为它是一个静态数组(而不是动态数组或集合)
更简单的例子:
type
TTest = array[0..2] of Integer; // static array
const
Data: TTest = (10, 20, 30);
及
及
type
TTest = array of Integer; // dynamic array
const
Data: TTest = [10, 20, 30];
type
TTest = set of Byte; // set
const
Data: TTest = [10, 20, 30];