代码复杂,给为可以用下面的代码来模拟 tmpString := TStringList.Create; try for iLoop := 0 to 10000 do begin tmpString.Add('kljlkjlkjlkjlkjlkjlk') end; finally tmpString.Free; end;
应该不会吧,我又看了TSTRINGLIST类Destroy,下面是具体实现destructor TStringList.Destroy; begin FOnChange := nil; FOnChanging := nil; inherited Destroy; if FCount <> 0 then Finalize(FList^[0], FCount);//释放内存 FCount := 0; SetCapacity(0); end;
各位帮帮忙啊,,试试看,怎么解决这个问题,
tmpString := TStringList.Create;
try
for iLoop := 0 to 10000 do
begin
tmpString.Add('kljlkjlkjlkjlkjlkjlk')
end;
finally
tmpString.Free;
end;
begin
FOnChange := nil;
FOnChanging := nil;
inherited Destroy;
if FCount <> 0 then Finalize(FList^[0], FCount);//释放内存
FCount := 0;
SetCapacity(0);
end;