Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: <Variable> möglicherweise nicht initialisiert

  Alt 27. Nov 2009, 09:00
Die Warnmeldung würdest du auch weg bekommen wenn du vor dem Try-Except-Block die Variable auf nil setzt. Ansonsten ist die Meldung schon berechtigt. Angenommen bei der ersten Anweisung im Block (FFilePath:= dlgOpenSQL.FileName tritt eine Exception auf (ich weiß das es unwahrscheinlich ist) so wird versucht im except teil aFStream.Free aufzurufen obwohl aFStream irgendwo ins Nirwana zeigt und somit kracht es gewaltig.

also einfach so:
Delphi-Quellcode:
aFStream := nil;
try
  FFilePath:= dlgOpenSQL.FileName;
  aFStream:= TFileStream.Create(FFilePath,fmOpenRead);
  lblFile.Caption:= dlgOpenSQL.FileName;
  btnProtocol.Enabled:= True;
except
  on e: Exception do
    begin
      MessageDlg('Fehler beim Laden der Datei!'#13#10+e.Message,mtError,[mbOk],0);
      aFStream.Free;
    end;
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat