Thema: Delphi try except Frage

Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.303 Beiträge
 
Delphi 12 Athens
 
#1

try except Frage

  Alt 12. Jul 2008, 19:52
Hallo alle miteinander...

ich seh den Wald vor Bäumen nicht...
Delphi-Quellcode:
UDateiListe.Add(Ziel);
try
  fStream:= TFileStream.Create(Ziel,fmCreate or fmShareDenyNone);
    try
      idHTTP1.Get(Quelle, fStream);
    finally
      fStream.Free;
    end;
except
  MessageDlg('Update fehlgeschlagen...(Datei herunterladen)',mtError,[mbOK],0);
  for A := 0 to UDateiListe.Count - 1 do
    begin
      try
        DeleteFile(UDateiliste.Strings[A]);
      except
      end;
    end;
  Application.Terminate;
end;
soll wie folgt funktionieren:
- der Quellcode ist ein Teil einer Procedure welche für jede Datei welche downgeloaded werden soll ausgeführt wird.
- tritt irgend ein Fehler auf soll die Meldung angezeigt, dann die vorher downgeloadeten Dateien (UDateiListe) gelöscht und das Update beendet werden.
- funktioniert auch prächtig, wenn alle Quelldateien vorhanden sind.

beim Fehlertest (Quelldatei existiert nicht) passiert folgendes:
- Meldung erscheint (ist ja ok)
- Dateien werden gelöscht. (auch ok)
- die Application (update.exe) wird nicht beendet sondern fährt mit der nächsten Datei fort.

PS: die update.exe ist auch in der UDateiListe vorhanden und ist nicht löschbar, da (noch) gestartet. Das sollte aber über den try except Block beim Löschen abgefangen werden.

Habe ich die Grundlagen falsch verstanden ?
Könnte mir jemand den Knoten lösen ?

Danke....
  Mit Zitat antworten Zitat