Einzelnen Beitrag anzeigen

Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#5

Re: URL in neuem Browser öffnen.

  Alt 20. Jan 2004, 16:08
Naja das Problem ist, dass die Lösung wirklich nicht sehr elegant ist, aber ich werde sie Mitteilen... vielleicht hat ja noch jemand eine andere, bessere Idee.

Man nutzt dazu einen zweiten, gehideten TWebbrowser.

Im NewWindow Event des ersten Webbrowsers wird dann die Anzeige
des neuen Fensters an den zweiten Webbrowser übergeben, damit
man die URL des neuen Fensters bekommen kann.

Code:

procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
  var ppDisp: IDispatch; var Cancel: WordBool);
begin
 ppDisp := WebBrowser2.Application;
end;

Beim BeforeNavigate Event des 2ten WebBrowsers wird dann die Browser exe n
och mal gestartet und dabei die URL übergeben. Und auch der Browsvorgang des
2ten Webbrowser abgebrochen.

Code:

procedure TForm1.WebBrowser2BeforeNavigate2(Sender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
 var newinstance : STRING;
BEGIN
    newinstance := url;
    url := '';
    cancel := TRUE;
    ShellExecute(handle,'open',Pchar(paramstr(0)),Pchar(newinstance),'',SW_SHOWNORMAL);
END;

Zum Schluss muss man noch in den FormCreate Event, die Übernahme der Url einfügen:

Code:

procedure TForm1.FormCreate(Sender: TObject);
begin
if paramstr(1) <> '' then webbrowser1.Navigate(paramstr(1));
webbrowser2.Hide;
end;
-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  Mit Zitat antworten Zitat