Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Internet / LAN / ASP.NET (https://www.delphipraxis.net/23-library-internet-lan-asp-net/)
-   -   Delphi Warten bis der WebBrowser fertig geladen hat? (https://www.delphipraxis.net/38334-warten-bis-der-webbrowser-fertig-geladen-hat.html)

Basic-Master 17. Jan 2005 20:38


Warten bis der WebBrowser fertig geladen hat?
 
So kann man ohne 100% CPU-Auslastung auf das fertigladen eines WebBrowsers warten:
Delphi-Quellcode:
procedure Wait(eWebBrowser: TWebBrowser);
begin
  repeat
    Sleep(50); // 50ms warten
    Application.ProcessMessages; // Andere Events verarbeiten
  until (eWebBrowser.ReadyState = READYSTATE_COMPLETE) or (Application.Terminated);
end;
Von SirThornberry kommt der Hinweis, dass dies auch über das Ereignis Delphi-Referenz durchsuchenOnDocumentComplete funktioniert. Allerdings wird dies bei jedem einzelnen Frame erneut aufgerufen.
Von MaBuSE kommt noch der Hinweis auf das Ereignis Delphi-Referenz durchsuchenOnDownloadComplete, was im Gegensatz zu OnDocumentComplete nur einmal aufgerufen wird.
Und von toms kommt noch dieser Vorschlag:
Delphi-Quellcode:
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var
  CurWebrowser: IWebBrowser;
  TopWebBrowser: IWebBrowser;
  Document: OleVariant;
  WindowName: string;
begin
  CurWebrowser := pDisp as IWebBrowser;
  TopWebBrowser := (Sender as TWebBrowser).DefaultInterface;
  if CurWebrowser = TopWebBrowser then
    ShowMessage('Komplettes Dokument geladen')
  else
  begin
    Document := CurWebrowser.Document;
    WindowName := Document.ParentWindow.Name;
    ShowMessage(Format('Frame "%s" geladen', [WindowName]));
  end;
end;
[edit=Chakotay1308]Code für die Code-Library vorbereitet. Mfg, Chakotay1308[/edit]
[edit=flomei]Wir "räumen auf", daher Titel geändert... Mfg, flomei[/edit]
[edit=fkerber]Neu abgespeichert wg. Syntax-Highlighting Mfg, fkerber[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz