Hallo,
ich möchte ein paar tausend Bilder herunterladen. Das versuche ich mit dem folgenden Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| procedure TFKategorieBilder.ButtonDownloadClick(Sender: TObject); var Datei : TFileStream; http : TIdHTTP; begin Datei := nil; DatMod.TBilder.First; while not DatMod.TBilder.Eof do begin LabelURL.Caption := DatMod.TBilderURL.AsString; if DatMod.TArtikel.Locate('HerstBez', DatMod.TBilderArtID.AsString, []) then begin try Datei := TFileStream.Create(UHaupt.Programmpfad + 'Bilder\HighPic\' + DatMod.TArtikelArtID.AsString + '.jpg', fmCreate); http := TIdHTTP.Create(nil); try IdHTTP.Get(DatMod.TBilderURL.AsString, Datei); finally Datei.Free; end; finally http.Free; end; end; Application.ProcessMessages; if Abbruch then exit else DatMod.TBilder.Next; end; end; |
Das Programm lädt auch ca. 80 Bilder herunter und bleibt dann immer an demselben Bild hängen. Die ausgegebene Fehlermeldung lautet: "externer Fehler 80000004".
Ich habe natürlich überprüft, ob das Bild vorhanden ist. Es läßt sich auch problemlos von Hand herunterladen, bloß mit dem obigen Code nicht.
Da es mir bei der Riesenmenge auf ein Bild mehr oder weniger nicht ankommt und ich leicht auf 1 Bild von 80 verzichten kann, ist meine Frage:
Wie kann ich den obigen Code so verändern, daß das Programm die Fehlermeldung abfängt und einfach mit dem nächsten Bild weitermacht?
Natürlich würde mich auch interessieren, was die Fehlermeldung bedeutet.
Danke Ebi
Moderiert von
Narses: Topic aus Internet / Netzwerk verschoben am Sa 25.06.2011 um 10:22