delphi – 清除一个TList或一个TObjectList

前端之家收集整理的这篇文章主要介绍了delphi – 清除一个TList或一个TObjectList前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对于将对象存储在列表中的用法有些困惑.
到目前为止,我已经使用了TList并在循环中释放了每个项目.然后我发现TObjectList自动从Free中执行.然后我从TList.Clear的文档中看到这个:

Call Clear@H_502_6@ to empty the Items array and set the Count@H_502_6@ to 0. Clear@H_502_6@ also
frees the memory used to store the Items@H_502_6@ array and sets the Capacity@H_502_6@ to 0.

所以基本上是一样的所以

为TList

mylist.Clear;
myList.Free;

与TObjectList一样吗?

myList.Free;

TObjectList只能用作项目类或可以存储记录吗?

解决方法

TList不会释放元素,包括清除或自由.

aList.Clear;

将只设置aList.Count:= 0而不释放aList.Items []元素.所以你会泄漏内存.你需要一个明确的免费:

for i := 0 to aList.Count-1 do
  TObject(aList[i]).Free;

但这是什么TObjectList做… 原文链接:https://www.f2er.com/delphi/102647.html

猜你在找的Delphi相关文章