首页 > 解决方案 > TListView OwnerData OnData 事件是否泄漏内存?

问题描述

TListView在虚拟模式下使用(OwnerData设置为true),这很简单。TListView采用vsReport视图样式并使用主标题和子项。事件代码OnData很简单(代码是 C++ Builder,但如果你使用 Delphi,你会明白的):

void __fastcall TForm1::ListView1Data(TObject *Sender, TListItem *Item)
{
Item->Caption     = MyList[Item->Index].Name;
Item->SubItems->Add(MyList[Item->Index].Status);
}

到目前为止一切都很好,但我很困惑SubItems->Add- 是否存在内存泄漏以连续添加这样的 SubItems(也适用于 Caption)?

我是否应该在另一个事件中释放内存(我还没有找到)?

标签: listviewdelphic++buildertlistview

解决方案


不,这不是内存泄漏。框架分配了SubItems对象,并在使用完毕后释放它。


推荐阅读