Wenn man irgendwo prüft, ob das Objekt existiert, z.B. ala
if assigned(obj) then, dann muß man die Variable nach dem Freigeben auch auf NIL setzen.
dieses gibt nur frei
obj.Free;
dieses würde zwar theoretisch auf NIL setzen, aber wenn es beim .Free zu einer
Exception kommt, dann gibt es später womöglich nette Probleme
also macht sich Dieses dann schon besser, weil es erst auf NIL setzt und danach .Free aufruft
FreeAndNil(obj);