Hallo,
Vorsicht mit solchen Behauptungen.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
Button: TButton;
begin
FreeAndNIL(Button); // Schutzverletzung !
end;
Was du meintest war, dass .Free auch bei NIL-Objekten klappt.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
Button: TButton;
begin
Button:= NIL;
Button.Free; // OK
end;
Was das etwas undurchsichtig macht ist, dass Klassenvariablen
automatisch initialisiert werden, Zeiger und damit auch Objekte also z.B. NIL sind.
Das FreeAndNIL ist einfach die Zusammenfassung von 2 Befehlen.
Heiko