我正在向TObject
添加一些TStringList
个后代,例如通过调用AddObject
。当我释放列表对象时,我希望它们被释放。有没有办法实现这个目标?
答案 0 :(得分:14)
TStringList
的{{3}}属性应设置为True
,以便列表在销毁时释放其对象。这可以通过调用OwnsObjects
或在创建后显式设置属性来实现。最好将OwnsObjects
设置为对象构造的一部分。
constructor overload that receives the OwnsObjects
parameter描述了这样的属性:
OwnsObjects 属性指定字符串列表是否拥有存储的对象。如果 OwnsObjects 属性设置为True,则Destroy析构函数将释放为这些对象分配的内存。