加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 清除一个TList或一个TObjectList

发布时间:2020-12-15 06:10:34 所属栏目:大数据 来源:网络整理
导读:对于将对象存储在列表中的用法有些困惑. 到目前为止,我已经使用了TList并在循环中释放了每个项目.然后我发现TObjectList自动从Free中执行.然后我从TList.Clear的文档中看到这个: Call Clear to empty the Items array and set the Count to 0. Clear also f
对于将对象存储在列表中的用法有些困惑.
到目前为止,我已经使用了TList并在循环中释放了每个项目.然后我发现TObjectList自动从Free中执行.然后我从TList.Clear的文档中看到这个:

Call Clear to empty the Items array and set the Count to 0. Clear also
frees the memory used to store the Items array and sets the Capacity 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做…

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读