关于释放指针的问题,有点怪,
肥仔胧 2007-11-05 09:12:29 PFuncInfo=^TFuncInfo
TFuncInfo=record
DispName: string;
Level: Integer;
end;
var
mFuncList: TStringList;//全局变量
代码大概如下:
procedure Init;
var
FuncInfo: PFuncInfo;
i: Integer;
begin
for i := 0 to sTempList.Count - 1 do
begin
New(FuncInfo);
with FuncInfo^ do
begin
DispName := sTempList.Strings[i];
Level := i;
mFuncList.AddObject(DispName, TObject(@FuncInfo));
end;
end;
end;
然后我在释放的时候如下:
procedure FreeFuncInfo;
var
i: Integer;
FuncInfo: PFuncInfo;
begin
if mFuncList <> nil then
begin
for i := 0 to mFuncList.Count - 1 do
begin
FuncInfo := PFuncInfo(mFuncList.Objects[i]);
if FuncInfo <> nil then
Dispose(FuncInfo);//此行出错,请教原因
end;
end;
end;
以上到底是怎么错了呢?谢谢!