Da der Speichermanager freigegebene Objekte nicht sofort löscht, fallen solche Fehler oft erst später auf. In diesem Fall scheint Form2 noch teilweise da zu sein, aber das Programm kann jederzeit abstürzen, wenn der Speichermanager diesen Speicher für etwas anderes braucht.
Das stimmt so nicht ganz. Der Speichermanager gibt die Objekte (den Speicher der Objekte) sofort frei. (Es gibt in Delphi keinen Garbage Collector)
Wenn du "Glück" hast und niemand sonst Speicher anfordert und die Speicherseite nicht komplett freigegeben wurde, dann funktioniert das Objekt auch noch.
Da Methoden an die Klasse und nicht an eine Instanz gebunden sind, lassen sie sich grundsätzlich immer aufrufen.
Je nach Zustand des freigegebenen Speichers kann es dann aber innerhalb der Methoden beim Zugriff auf Felder der Instanz zu Zugriffsverletzungen kommen.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."