Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Tabbed-Browser, Link-URL auslesen???? (https://www.delphipraxis.net/42841-tabbed-browser-link-url-auslesen.html)

mlspider 24. Mär 2005 14:38


Tabbed-Browser, Link-URL auslesen????
 
Hallo,

und schon wieder ein Problem. Ich versuche in einer neuen Instanz auf ein neues Tabsheet die Link-URL eines angeklickten Link zu bekommen, um diese dann während des Ladens in der Statusbar anzuzeigen. Nach fertigen Seitenaufbau sollte dort "Fertig" stehenBis jetzt habe ich es nur mit einen dämlichen Button und 2 Edit hinbekommen:

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
begin
 Edit2.Text := (PageControl1.ActivePage.Controls[0] as TWebBrowser).LocationURL;
 Edit3.Text := (PageControl1.ActivePage.Controls[0] as TWebBrowser).LocationName;
end;
Finde eifach keine Lösung!!! :(

mr47 24. Mär 2005 14:47

Re: Tabbed-Browser, Link-URL auslesen????
 
Benutzt du den TWebbrowser? Dann kannst du doch bei onStartNavigate und onDocumentComplete anwenden...

mlspider 24. Mär 2005 14:51

Re: Tabbed-Browser, Link-URL auslesen????
 
Schon, nur lasse ich diese dynamisch für jeder Tabsheet erzeugen. Das macht mir Kopfzerbrechen!!!

toms 24. Mär 2005 14:53

Re: Tabbed-Browser, Link-URL auslesen????
 
Hallo!

Du kannst alles im OnStatusTextChange machen:

Delphi-Quellcode:
procedure TfrmMyBrowser.WebBrowser1StatusTextChange(Sender: TObject;
  const Text: WideString);
begin
  StatusBar1.Panels[1].Text := Text;
end;

mlspider 24. Mär 2005 15:01

Re: Tabbed-Browser, Link-URL auslesen????
 
Das funktioniert leider nur wenn ich die Browser-Kompo direkt auf einen Tab zu liegen habe. Wenn ich aber ein neues Tabsheet erzeugen lasse,:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
 var
 NewTab : TTabSheet;
 NewWeb: TWebBrowser;
begin
  NewTab:= TTabSheet.Create(Form1.PageControl1);
  NewTab.Visible := True;
  NewTab.Caption := 'Neue Seite';
  NewTab.PageControl := Form1.PageControl1;
  Form1.PageControl1.ActivePage:= NewTab;
  NewWeb:=TWebBrowser.Create(NewTab);
  TWinControl(NewWeb).parent := NewTab;
  NewWeb.Align:= alClient;
  NewWeb.OnNewWindow2:= NewWindow;
  NewWeb.Visible := True;
end;

procedure TForm1.NewWindow(Sender: TObject;var ppDisp: IDispatch; var Cancel: WordBool);
var
  Tabsheet: TTabsheet;
  Browser: TWebBrowser;
  begin
  Form1.Button1Click(nil);
  TabSheet:= Form1.PageControl1.ActivePage;
  ppDisp:= (PageControl1.ActivePage.Controls[0] as TWebBrowser).DefaultInterface;
end;
funktioniert das leider nicht mehr.

toms 24. Mär 2005 15:04

Re: Tabbed-Browser, Link-URL auslesen????
 
Hmmm, seltsam :gruebel: warum funktioniert das nicht :gruebel:

moment mal, was ist denn das?
Delphi-Quellcode:
NewWeb.OnNewWindow2:= NewWindow;
wie waers's wenn du dasselbe fuer OnStatusTextChange machen wuerdest :?: :gruebel:

(Wieder mal den gleichen Tipp: gezeigt wird's auch im Mini Webbrowser Demo.)

mlspider 24. Mär 2005 15:08

Re: Tabbed-Browser, Link-URL auslesen????
 
Jetzt raff ich garnichts mehr!!!

mlspider 24. Mär 2005 16:26

Re: Tabbed-Browser, Link-URL auslesen????
 
OK, ich habe es endlich kappiert!!!

Delphi-Quellcode:
public
    { Public-Deklarationen }
    procedure NewWindow(Sender: TObject;var ppDisp: IDispatch; var Cancel: WordBool);
    procedure NewWebStatusTextChange(Sender: TObject;
  const Text: WideString);;//<---hier geändert
    end;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
 var
 NewTab : TTabSheet;
 NewWeb: TWebBrowser;
begin
  NewTab:= TTabSheet.Create(Form1.PageControl1);
  NewTab.Visible := True;
  NewTab.Caption := 'Neue Seite';
  NewTab.PageControl := Form1.PageControl1;
  Form1.PageControl1.ActivePage:= NewTab;
  NewWeb:=TWebBrowser.Create(NewTab);
  TWinControl(NewWeb).parent := NewTab;
  NewWeb.Align:= alClient;
  NewWeb.OnNewWindow2:= NewWindow;
  NewWeb.OnStatusTextChange:=NewWebStatusTextChange;//<---hier geändert
  NewWeb.Visible := True;
end;
Und natürlich noch die Prozedur:

Delphi-Quellcode:
procedure TForm1.NewWebStatusTextChange(Sender: TObject;
  const Text: WideString);
  var NewWeb: TWebbrowser;
begin
  StatusBar1.Panels[1].Text := Text;
end;

War ja eine schwere Geburt!!!

besonderen Dank nochmals an toms!!!


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

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