HI
also ich hab das mal so gelöst:
Ich habe den Tip [a href="http://www.swissdelphicenter.ch/de/showcode.php?id=1014" target="_blank"]http://www.swissdelphicenter.ch/de/showcod...ode.php?id=1014[/a] genommen und etwas abgeändert.
Hier das Original:
procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
var
NewWindow: TForm1;
begin
// a new instance of the form will be created
// Eine neue Instanz wird erstellt
NewWindow := TForm1.Create(self);
NewWindow.Show;
ppDisp := NewWindow.Webbrowser1.DefaultDispatch;
end;
Zu erst muss man die Variable newwindow global deklarieren also oben bei implementation und nicht in der procedure
implementation
var
newwindow:TForm1;
Nun wird die Procedure so umgeschrieben:
procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
begin
NewWindow := TForm1.Create(self);
ppDisp := NewWindow.Webbrowser1.DefaultDispatch;
newwindow.WebBrowser1.OnBeforeNavigate2:=losgehts;
end;
Jetzt schreiben wir uns zuletzt die losgehts procedue:
procedure TForm1.losgehts(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
webbrowser1.Navigate(url);
end;
So das wars dann auch schon!
Jetzt werden alle Links in dem einen Fenster göffnet und nichts neues aufgemacht!
Ciao Ralf