Forum: Object-Pascal / Delphi-Language
Delphi
by jfheins,
22. Nov 2010
Du könntest auch noch Interfaces verwenden. Die bringen eine Referenzzählung mit.
oder die Dirty-Variante: Du implementiert ein Boolean-Flag "valid" dass im Konstruktor auf true gesetzt wird. Im Destruktor wird es erst geprüft ob es false ist. Wenn ja => sofort abbrechen. Wenn nein: Auf false setzen und mit den normalen Tätigkeit fortfahren.
Das Vorgehen baut aber darauf, dass in der...
Forum: Object-Pascal / Delphi-Language
Delphi
by jfheins,
22. Nov 2010
Du kannst aber alle Listen (rekursiv) durchlaufen und alle Objekte nochmal in eine "Masterliste" einfügen (duplikate ignorieren), dann die Listen freigeben und schließlich durch die Masterliste durchgehen und alle Objekte freigeben. (Du kannst natürlich auch die Masterliste immer "nebenher" aktuell halten)
Btw.: Punkt für Garbage-Collection :mrgreen: