Mega Code Archive

 
Categories / Delphi / Activex OLE
 

Use a webbrowsers ondocumentcomplete with frames

{ When loading a page based on different frames into webbrowser control, "ONDocumentComplete" fires each time one of the frames gets completed. How can I find out, when this last Point is reached and get this final url? } { Wenn eine Seite mit Frames in den Webbrowser geladen wird, wird "OnDocumentComplete" jedesmal ausgelöst, wenn eine Frame fertig geladen ist. Ich benötige bei aber ein Ereignis, nachdem alle Frames geladen wurden. Aus der Hilfe geht hervor, dass dies mit dem Ereignis OnDocumentComplete realisiert werden kann. } 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('Complete document was loaded') else begin Document := CurWebrowser.Document; WindowName := Document.ParentWindow.Name; ShowMessage(Format('Frame "%s" was loaded', [WindowName])); end; end;