delphi 二维数组参数问题
typetarr=arrayofarrayofstring;//定义一个二维数组类型procedurezuhe(ar:tarr;k:integer);procedurez...
type
tarr=array of array of string; //定义一个二维数组类型
procedure zuhe(ar:tarr;k:integer);
procedure zuhe(ar:tarr;k:integer);
begin
……
end;
procedure TForm1.Button1Click(Sender: TObject);
var
a:tarr; //定义a为动态二维数组
begin
setlength(a,3,1000); //给二维数组a确定大小
……二维数组赋值(省)……
zuhe(a,0); //调用zuhe()函数
……
end;
问题是,在点击Button1按钮后,调用zuhe()函数,但是一运行,就在zuhe(a,0); 这一行出问题。而且,经过验证,二维数组a没有成功传递过去。
请教高手,是不是函数参数有问题??谢谢。。。 展开
tarr=array of array of string; //定义一个二维数组类型
procedure zuhe(ar:tarr;k:integer);
procedure zuhe(ar:tarr;k:integer);
begin
……
end;
procedure TForm1.Button1Click(Sender: TObject);
var
a:tarr; //定义a为动态二维数组
begin
setlength(a,3,1000); //给二维数组a确定大小
……二维数组赋值(省)……
zuhe(a,0); //调用zuhe()函数
……
end;
问题是,在点击Button1按钮后,调用zuhe()函数,但是一运行,就在zuhe(a,0); 这一行出问题。而且,经过验证,二维数组a没有成功传递过去。
请教高手,是不是函数参数有问题??谢谢。。。 展开
展开全部
SetLength(data.StrArray,2,2);
你这是什么写法?Delphi没有这个函数,
Delphi的SetLength只有两个参数:变量,长度;
你这个动态2维数组不能这样初始化
setLength(data.StrArray, 2);
for i:= 0 to High(data.StrArray) do begin
SetLength(data.StrArray[i], 2);
end;
你这是什么写法?Delphi没有这个函数,
Delphi的SetLength只有两个参数:变量,长度;
你这个动态2维数组不能这样初始化
setLength(data.StrArray, 2);
for i:= 0 to High(data.StrArray) do begin
SetLength(data.StrArray[i], 2);
end;
追问
那为什么我对二维数组a赋值之后,用下面的代码
for b1:=0 to 2 do
for b2:=0 to 5 do
showmessage(a[b1][b2]);
可以把这个二维数组的字读出来??
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询