Zitat von
Martin K:
Ist es nicht sogar so, dass Objekte die in einer Methode (Prozedur oder Funktion) als lokale Variable sind und in dieser Methode erstellt werden auch am Ende dieser Methode wieder freigegeben werden, auch wenn man kein .Free o.ä. explizit aufruft?
Das ist falsch. Die Referenz geht verloren, aber der Speicher ist imme rnoch von dem Objekt belegt.
Was die Freigabe des Speichers und Windows angeht, hat dein Lehrer unrecht. So bald ein Prozess beendet wurde, gibt Windows alles wieder Frei: Benutzer-Objekte,
GDI-Objekte und den Adressraum. Einzig das Prozess-Kernel-Objekt kann nopch weiterbestehen, wenn andere Prozesse noch geööfnete Handles auf das Objekt haben.