var i:Integer; begin for i :=0 to GoodsList.Count -1do begin Dispose(GoodsList.Items[i]); //这会造成内存泄漏 end; GoodsList.Clear; end;
正确的释放代码
var i:Integer; PGoods: PGoodsInfo; begin for i :=0 to GoodsList.Count -1do begin PGoods := GoodsList.Items[i]; Dispose(PGoods); end; GoodsList.Clear; end;