Nein, die Objektliste ist parametrisiert und stammt somit aus
System.Generics.Collections
. Macht das einen Unterschied?
Noch einmal ein ganz einfaches Beispiel:
- Liste anlegen: meineListe := TObjectList<TMeinObjekt>.Create(True);
- meineListe.Add(nil);
- Ablauf im Debugger für Add(nil) anschauen
Ich habe mal als vier Bilder angehängt, was man im Aufrufstack bzw. im Quelltext-Editor sieht. Ich verstehe es nicht.
Edit:
Bei Niklaus Wirths Lendenschurz, kann es sein, dass Pack() tatsächlich nie aufgerufen wird? Ich habe mich mit dem Delphi-Debugger noch nicht richtig anfreunden können, er scheint oft eine Zeile zu weit unten zu markieren. Wenn man auf das letzte Bild schaut - Meint der Debugger in Wirklichkeit die Notify-Methode? Das würde vollkommen Sinn machen.