记录的内存释放问题?(解决者赠以高分)
我的代码如下:
type
TLeafNode =record
VOPC: String;
COED: array[1..4] of string;
VOPA: array of array of array of array of real;
end;
TPLeafNode = ^TLeafNode;
procedure TForm1.Button1Click(Sender: TObject);
var
Lp: TPLeafNode;
i: Integer;
begin
for i:=1 to 1000 do
begin
LP:=AllocMem(Sizeof(TLeafNode));
SetLength(LP.VOPA,1000,1000,1000,1000);
LP.VOPA:=nil;
FreeMem(LP,Sizeof(TLeafNode));
end;
end;
结果记录的内存没有释放掉,经过大约几百次循环,最后内存溢出。
请问怎么样才能把我申请的记录和记录中的那个四维动态数组释放掉?