Doch, das hättest du gemerkt, da in der Form nicht auf "deine" Varialbe zugegriffen werden kann, außer du baust es selbst so, dass die eigene Variable auch global ist, was man nicht sollte.
Bzw. es hätte dort der Compiler geknallt, wenn er die Variable nicht findet, nachdem zu sie global entfernt hast.
Beim Aufruf von der
Methode Free wird nur die Objekt-Referenz reingegeben, also der Wert der Variable ins Self kopiert.
Die Variable ist der Methode also nicht bekannt.
Darum ist
FreeAndNil auch eine Prozedure, welche die Variable als Speicher-Referenz (VAR) rein bekommt.