请问方法参数如何定义数组
首先我const了一个数组
const
arr_Duty1:array[0..1, 0..1] of string=(('rb_Duty1','grp_Duty1'),('rb_Duty1','grp_Duty1'));
arr_Duty2:array[0..1, 0..5] of string=(('rb_Duty2','grp_Duty2'),('rb_Duty2','grp_Duty2'),..);
//这个array[X..X,X..X]是不定的
procedure TFrm_Statistics.rb_Duty1Click(Sender: TObject);
begin
IniState(Pointer(arr_Duty)); //我暂时是这么写的
end;
procedure TFrm_Statistics.IniState(arr: PVarArray);
begin
// showmessage(Length(arr),Length(arr[Low(arr)]))
//但传进来后不知道该怎么写了
end;
Const
arr_Duty1: array[0..1, 0..1] of string=(('rb_Duty1','grp_Duty1'),('rb_Duty1','grp_Duty1'));
arr_Duty2: array[0..2, 0..1] of string=(('rb_Duty1','grp_Duty1'),('rb_Duty1','grp_Duty1') , ('a','b'));
type
TConstStringList = array [0..0] of String;
PConstStringList = ^TConstStringList;
procedure Doit(aArray : PConstStringList; AllLen : integer);
var
i : integer;
begin
for i:=0 to AllLen-1 do
ShowMessage(aArray^[i]);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Doit(@arr_Duty1 , 4);
Doit(@arr_Duty2 , 6);
end;