Forum: Sonstige Fragen zu Delphi
Delphi
by OLLI_T,
20. Nov 2003
Hallo Sakura!
Das Var kann aber auch recht nüttzlich sein. So kann die Funktion das Objekt bei Bedarf initialisieren.
procedure Foo(s: String; c: Char; var sl: TStringList);
begin
If SL = NIL Then SL:=TStringList.Create;
...
Forum: Sonstige Fragen zu Delphi
Delphi
by OLLI_T,
20. Nov 2003
Hallo Silent!
Free ist eine Klassenmethode, die überprüft ob das Objekt gültig ist und dann den Destructor aufruft, damit der alloktierte Speicher wieder freigegeben wird. Die Funktion FreeAndNil ruft auch Free auf!
FreeAndNil kannst Du demnach auch so abbilden:
SL.Free; SL:=NIL
Wie Tom schon angemerkt hat, ist das bei lokalen Variablen nicht nötig. Da reicht es Free aufzurufen.