![]() |
TWebBrowser.ReadyState = READYSTATE_COMPLETE
Hallo,
ich habe einen Quelltext einer Seite und möchte, um einen Screenshot zu machen, diesen in einen TWebBrowser laden. Das geschieht so:
Delphi-Quellcode:
Das klappt bei der ersten Seite auch wunderbar: Bilder etc werden nachgeladen und danach der Screenshot gemacht. Aber bei allen nachfolgenden Seiten, die ich auf diese Art und Weise lade, hat WB.ReadyState gleich nach dem Quelltext laden den Status READYSTATE_COMPLETE, das heißt die zu Testzwecken eingebaute Meldung kommt und auf dem Screenshot sieht man die Seite ohne Bilder :pale:
procedure WaitForBrowser(WB: TWebbrowser);
begin while (WB.ReadyState <> READYSTATE_COMPLETE) and not (Application.Terminated) do begin Application.ProcessMessages; Sleep(0); end; end; // WB: TWebBrowser; if WB.Document = nil then WB.Navigate('about:blank'); OleVariant(WB.Document as IHTMLDocument2).Clear; OleVariant(WB.Document as IHTMLDocument2).Write(Utf8ToAnsi(Quelltext)); OleVariant(WB.Document as IHTMLDocument2).Close; if WB.ReadyState = READYSTATE_COMPLETE then // Testweise eingebaut showmessage('Noch nicht richtig geladen!');// WaitForBrowser(WB); DoScreenshot(); Ich vermute, dass WB.ReadyState nicht zurückgesetzt wird, wenn man einen Quelltext wie oben lädt. Stimmt das, und wie kann ich das umgehen? mfg.Dominik (WB.OnDocumentComplete wird nicht gefeuert und über eine lokale Datei und dann WB.Navigate(Datei) will ich nicht gehen) |
Re: TWebBrowser.ReadyState = READYSTATE_COMPLETE
Hallo Dominik,
teste einmal wb.Busy auf true. Ich hab bisher noch nicht heraus bekommen, wann dieses READYSTATE_COMPLETE wirklich stimmt. Gruß K-H |
Re: TWebBrowser.ReadyState = READYSTATE_COMPLETE
Zitat:
Delphi-Quellcode:
Vielen Dank p80286, auf die DP ist immer Verlass :dp:
procedure WaitForBrowser(WB: TWebbrowser);
begin while (WB.Busy) and not (Application.Terminated) do begin Application.ProcessMessages; Sleep(100); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:52 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