流
流水寿司
Unregistered / Unconfirmed
GUEST, unregistred user!
本人水平不高,现在想写一个类,其中包括一个叫Files的属性,用于保存一组文件的信息,我希望能够像Files[index]这样引用;
于是我就定义成这样
type
TFile= packed record
path:WideString;
name:WideString;
size:Integer;
end;
然后在下面这个类中使用这个记录类型
type
TFileinfo=class(TPersistent)
private
...
FFiles:TList;
...
public
...
property Files[Index:Integer]:TFile Read GetFile
default;
...
end;
function TFileinfo.GetFile(Index:Integer):TFile;
var
p:^TFile;
begin
p:=FFiles.Items;
Result:=p^;①
end;
如各位所见,现在我通过一个TList来访问各个TFile元素.现在执行到①出错,出错似乎是内存溢出(我也不是很懂,反正就是说写到XXX地址出错),请问各位为什么?还有记录类型的数组一般是不是这样定义的?是不是用TList的?或者还有什么其他的方法?
先谢谢各位大虾指点了,词不达意之处还请指出.
于是我就定义成这样
type
TFile= packed record
path:WideString;
name:WideString;
size:Integer;
end;
然后在下面这个类中使用这个记录类型
type
TFileinfo=class(TPersistent)
private
...
FFiles:TList;
...
public
...
property Files[Index:Integer]:TFile Read GetFile
default;
...
end;
function TFileinfo.GetFile(Index:Integer):TFile;
var
p:^TFile;
begin
p:=FFiles.Items;
Result:=p^;①
end;
如各位所见,现在我通过一个TList来访问各个TFile元素.现在执行到①出错,出错似乎是内存溢出(我也不是很懂,反正就是说写到XXX地址出错),请问各位为什么?还有记录类型的数组一般是不是这样定义的?是不是用TList的?或者还有什么其他的方法?
先谢谢各位大虾指点了,词不达意之处还请指出.