Einzelnen Beitrag anzeigen

ToFaceTeKilla

Registriert seit: 17. Mai 2006
Ort: Leipzig
283 Beiträge
 
Delphi XE2 Professional
 
#6

Re: <Variable> möglicherweise nicht initialisiert

  Alt 27. Nov 2009, 09:09
@DeddyH:
Hm stimmt. Aber mir fällt grad auf, dass sich an den Block noch was anschließt:
Delphi-Quellcode:
 if Assigned(aFStream) then
   Try
   ...
   Finally
     aFStream.free
   End;
Also das free`en im Exception-Teil, soll im Fehlerfall aufgerufen werden.
Andererseits: in deinem Code wird aFStream doch auch nicht freigegeben, wenn eine Exception auftritt.

EDIT:
Ok hab es jetzt so gelöst:
Delphi-Quellcode:
aFStream:= nil;
aSStream:= nil;
try
  try
    FFilePath:= dlgOpenSQL.FileName;
    aFStream:= TFileStream.Create(FFilePath,fmOpenRead);
    aSStream:= TStringStream.Create(aStr);
    if Assigned(aFStream) then
    ...
  finally
    aFStream.free;
    aSStream.free;
  end;
except
  on e: Exception do
    MessageDlg('Fehler beim Laden der Datei!'#13#10+e.Message,mtError,[mbOk],0);
end;
Danke für den Denkanstoß

edit 2&3: Code berichtigt.
Billy Gerwitz
"Bei der Softwareentwicklung suchen wir nicht den richtigen Weg, sondern den am wenigsten falschen." - frei nach V. Hillmann
  Mit Zitat antworten Zitat