Zitat von
Stefan Hueg:
Also immer brav FreeAndNil aufrufen ^^
Aber nur dann, wenn es Sinn macht.
Wenn Du zum Beispiel ein Objekt nur innerhalb einer Funktion benutzt, und es am Ende wieder freigibst, dann reicht vollkommen, auf dem Objekt das Free auszuführen, da das Setzen des Wertes auf Nil tatsächlich noch Taktzyklen braucht, die Variable nach dem Verlassen der Methode aber eh ungültig wird: demnach ein Performanceverlust.
Das ist zwar bei einem FreeAndNil() nicht wirklich merkbar, aber wenn das in jeder Methode gemacht wird, und solche Methoden gar noch in einer lang laufenden Schleife aufgerufen werden, dann summiert sich das unter Umständen schonmal merkbar hoch.