我有一个基于 TInterfacedObject 的类。我将它添加到 TTreeNode 的 Data 属性中。
TFacilityTreeItem=class(TInterfacedObject)
private
m_guidItem:TGUID;
m_SomeOtherNode:TTreeNode;
public
end;
我创建了这个对象的许多实例并假设因为它们是引用计数的,所以我不需要释放它们。那会很方便。
但是,当检查这个时,我打开了 ReportMemoryLeaksOnShutdown 并发现它们毕竟没有被释放。
这些对象是在放置在主窗体上的框架中创建的。在主窗体的 FormClose 中,我清除树节点,以便释放每个对象。
发生了什么?
感谢您的帮助!