TListView OwnerData OnData事件是否泄漏内存?

TListView OwnerData OnData事件是否泄漏内存?,listview,delphi,c++builder,tlistview,Listview,Delphi,C++builder,Tlistview,我正在虚拟模式下使用TListView(OwnerData设置为true),这非常简单TListView采用vsReport视图样式,并使用主标题和子项。 OnData < /C> >的事件代码很简单(代码是C++ Builder,但如果使用Delphi,您会发现它): void\uu fastcall TForm1::ListView1Data(TObject*发送方,TListItem*项) { 项目->标题=MyList[项目->索引].Name; 项目->子项目->添加(MyList[项

我正在虚拟模式下使用
TListView
OwnerData
设置为
true
),这非常简单
TListView
采用
vsReport
视图样式,并使用主标题和子项。<代码> OnData < /C> >的事件代码很简单(代码是C++ Builder,但如果使用Delphi,您会发现它):

void\uu fastcall TForm1::ListView1Data(TObject*发送方,TListItem*项)
{
项目->标题=MyList[项目->索引].Name;
项目->子项目->添加(MyList[项目->索引].状态);
}
到目前为止一切都很好,但我对
子项->添加
-连续添加这样的子项(也用于标题)是否存在内存泄漏感到困惑


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

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

否。在内部,
TListView
在虚拟模式下运行时维护单个物理
TListItem
对象。每当需要触发
OnData
事件时,它就会重用并清除该对象。您不需要手动释放任何
TListItem
数据。

这可能与: