Free prüft, ob das Objekt existiert.
Seit wann geht das denn?
Ich war immer der Meinung, dass
Free
prüft ob
Self = nil
ist und nicht mehr.
Eine
lokale Variable ist immer
nicht initialisiert und kann jeden beliebigen Wert enthalten. Um einen bestimmten Wert zu garantieren muss die Variable
initialisiert werden.
Es muss also minimal so aussehen um sicher zu sein, egal was irgendein Analyzer da von sich gibt
Delphi-Quellcode:
procedure foo;
var
sl1, sl2: TStringList;
begin
sl2:= nil;
sl1:= TStringList.Create();
try
sl2:= TStringList.Create();
...
finally
sl2.Free();
sl1.Free();
end;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)