Zumindest bei der TMultiObjectList<T> musst du noch Remove überschreiben/überladen.
Imho müsste über diese Methode jede Referenz aus der Liste gelöscht werden und nicht nur die erste gefundene.
Hmmm joar, ist soeine Sache ... eigentlich wollte ich nur das Löschverhalten beeinflussen und nicht den Aufbau der Listen.
Normaler Weise entfernt Remove doch nur den ersten Fund aus der Liste
und nicht alle Vorkommen ... aber die normale (generische) Objektliste gibt dennoch das Objekt frei, selbst wenn es nochmals in der Liste steht.
So jetzt besser?
RemoveAll(Value: T)
.
oder wäre ein
Remove(Value: T; RemoveAll: Boolean = false)
besser?
[edit]
Hab nun Beides verbaut.