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....