I have a TObject list (FileEventObjects := TObjectList.Create(True);
) containing one or more objects. The objects need to stay in the list until they are processed. (The object list exists for the duration of the application.)
I'm not entirely sure how to remove a processed object from the list.
Will the object be 'freed' if I do FileEventObjects.Delete(i)
Are there any links to useful examples of TObjectLists in action?
Regards, Pieter.
If you pass True
to the TObjectList
constructor (it is also True
by default), the list frees any object as soon as you remove it from the collection, no matter if you use Delete
, Remove
or Clear
.
Apart from this, TObjectList
can be used just like TList
.
always remember to loop backwards like
for i := Pred(objectlist.Count) downto 0 do
begin
objectlist.items[i].process;
objectlist.delete(i);
end;
if you loop from 0 to count -1 whilst removing items you will get access violations
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With