你能帮帮我解决这个问题.这是我的代码.我存储(在此示例中)10000个字符串,当我尝试删除它们时,只有一些内存被释放,其余的泄漏.
type
PMyData = ^TMyData;
TMyData = record
Name: string;
end;
////////
var
XList:Tlist;
//////////
// Here is how I add//
var
MyData: PMyData;
I:Integer;
begin
for I:=0 to 10000 do begin
New(MyData);
MyData.Name:='Hello';
XList.Add(TObject(MyData));
end;
end;
///Here is how I delete///
var
MyData: PMyData;
I:Integer;
begin
for I:= XList.Count - 1 downto 0 do begin
MyData:=PMyData (XList[I]); /// I also used (XList.Items[I]) but the result is the same
Dispose(MyData);
XList.Delete(I);
end;
Run Code Online (Sandbox Code Playgroud) delphi ×1