Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: 2 StringListen try finally richtig anwenden

  Alt 27. Jun 2016, 08:36
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)

Geändert von Sir Rufo (27. Jun 2016 um 11:00 Uhr)
  Mit Zitat antworten Zitat