![]() |
WebBrowser1.OleObject.Document.Images Problem.
Ahoi und zwar lade ich automatisiert alle Bilder des Typs JPG einer HTML-Seite runter und zwar wiefolgt:
Delphi-Quellcode:
....
function DownloadFile(SourceFile, DestFile: string): Boolean;
begin try Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0; except Result := False; end; end;
Delphi-Quellcode:
Dies funktioniert auch wunderbar, ich habe jedoch vor, auf meheren Seiten alle Bilder herunterzuladen er springt also nachdem er alle bilder gespeichert hat auf seite 2.
procedure TForm1.Button1Click(Sender: TObject);
var k, p: Integer; Source, dest, ext: string; begin for k := 0 to WebBrowser1.OleObject.Document.Images.Length - 1 do begin Source := WebBrowser1.OleObject.Document.Images.Item(k).Src; p := LastDelimiter('.', Source); ext := UpperCase(Copy(Source, p + 1, Length(Source))); if (ext = 'JPG') then begin //ShowMessage('Found!'); p := LastDelimiter('/', Source); dest := ExtractFilePath(ParamStr(0)) + Copy(Source, p + 1, Length(Source)); DownloadFile(Source, dest); end; end; end; Wenn ich mich dann auf Seite2 befinde meldet er nen Fehler der in dieser Zeile stecken soll:
Delphi-Quellcode:
Gibt es da etwas zu beachten? Ich leere die Variable auch bevor ich die Seite2 aufrufe...
Source := WebBrowser1.OleObject.Document.Images.Item(k).Src;
|
Re: WebBrowser1.OleObject.Document.Images Problem.
Hallo, wurde die Seite beim Zugriff aufs Image Element schon fertig geladen?
|
Re: WebBrowser1.OleObject.Document.Images Problem.
Ja wurde sie...
Hier die Fehlermeldung: Zugriffsverletzung bei Adresse 00463667 in Modul "Project1.exe". Lesen von Adresse 00000000 |
Re: WebBrowser1.OleObject.Document.Images Problem.
Tritt der Fehler auch auf, wenn du zuerst Seite 2 lädst?
|
Re: WebBrowser1.OleObject.Document.Images Problem.
Hallo,
die in der Fehlermeldung ausgewiesene Adresse 0 signalisiert, dass einer der dereferenzierten Zeiger NIL gewesen ist. Heißer Kandidat ist WebBrowser1.OleObject.Document. Es bleibt der Verdacht, dass der HTML-Parser noch nicht in den richtigen Zustand gewechselt hat. Gute Nacht |
Re: WebBrowser1.OleObject.Document.Images Problem.
Zitat:
Zitat:
MfG |
Re: WebBrowser1.OleObject.Document.Images Problem.
Du kannst dich beim Ereignis OnDocumentComplete() benachrichtigen lassen.
Wie das geht, kannst du dir z.B. hier anschauen: ![]() |
Re: WebBrowser1.OleObject.Document.Images Problem.
Achso, ja das ist klar, aber das geht ja damit nicht, deswegen habe ich die einzelnen Schritte ja auch durch Buttons nochmals gemacht, damit die Fehlerquelle "Zeit" wegfällt... hmm sehr merkartig :(
|
Re: WebBrowser1.OleObject.Document.Images Problem.
Zitat:
|
Re: WebBrowser1.OleObject.Document.Images Problem.
exakt.
Gibts da noch nen "Trick" den man mal probieren könnte? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz