Delphi中初始化动态二维数组的问题

来源:百度知道 编辑:UC知道 时间:2024/05/14 16:33:59
我想写一个类,用来加载数据,数据加载好后存放在类成员StrArray:array of array of String;中,然后在工程中用“类对象.StrArray”来使用二维数组,该怎么实现,下面是我写的代码,有错误,请指正
unit Unit2;

interface
uses
Dialogs,SysUtils;
type
Ddata=class
StrArray:array of array of String;
function LoadData(): Boolean;
end;

var
data:Ddata;
implementation
function Ddata.LoadData(): Boolean;
begin
SetLength(data.StrArray,2,2);
{ 。。。。
初始换 data.StrArray 等工作
}
result := True;
end;

end.

一到这里就出错 SetLength(data.StrArray,2,2);

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;

真是的,如上所述:
加一句:
data := Ddata.create;
SetLength(data.StrArray,2,2);
{ 。。。。
初始换 data.StrArray 等工作
}
result := True;
用完记着释放。
data.free;

.....
你data对象都没有创建 怎么能使用呢?