...use a Webbrowser's OnDocumentComplete with frames?

Author:

Category: Objects/ActiveX

{
 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;

 

printed from
www.swissdelphicenter.ch
developers knowledge base