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
数据。这可能与: