![]() |
mehrere TwebBrowser zur laufzeit erzeugt von wem kommt event
Ich habe mir einen browser programmiert mit mehreren Tabs. Wenn ein neues tab geöffnet wird, wird eine TwebBrowser erzeugt, dass sieht so aus bei mir:
Delphi-Quellcode:
nun möchte ich im event OnDocumentComplete den html text phrasen und auf bestimmten text reagieren. ich frage mich nur wie ich das anstellen soll. Normalerweise habe ich das immer so gemacht:
procedure TForm4.CreateNewTabBrowser(Url: string);
begin TabSheetEx := TTabSheetEx.Create(PageControl1); with TabSheetEx do begin PageControl := PageControl1; EWB := TEmbeddedWB.Create(TabSheetEx); Caption := 'Loading...'; TOleControl(TabSheetEx.EWB).Parent := TabSheetEx; PageControl1.ActivePage := TabSheetEx; with EWB do begin LoadSettings; Align := alClient; Visible := True; DownloadOptions := [DownloadAndIgnoreCache]; OnStatusTextChange := StatusTextChangeEvent; OnNewWindow2 := NewWindow2Event; OnDownloadComplete := DownloadCompleteEvent; OnCommandStateChange := CommandStateChangeEvent; OnBeforeNavigate2 := BeforeNavigate2; OnDocumentComplete := DocumentComplete; Go(URL); end; end; end;
Delphi-Quellcode:
Aber wie kann ich das bei den einzelnen zur laufzeit erzeugten TWebBrowser machen? Die kann ich ja nicht direkt mit WebBrowser1, WebBrowser2 usw ansprechen.
html2.Clear;
wb2.SaveFrameToStrings(0,html2); if pos('login',html2.text) <> 0 then begin Showmessage('Login gefunden'); end; |
Re: mehrere TwebBrowser zur laufzeit erzeugt von wem kommt e
Verwalte diese in einem array oder besser einer ObjektListe
|
Re: mehrere TwebBrowser zur laufzeit erzeugt von wem kommt e
Ein Beispielcode wäre hilfreich, da ich zum ersten mal komponenten zur Laufzeit erstelle ist meine wissen darüber sehr begrenzt.
|
Re: mehrere TwebBrowser zur laufzeit erzeugt von wem kommt e
Die Objekt-Variable "EWB" nicht jedesmal überschreiben, sondern in einem Array oder Objekt-Liste merken.
TObjektList ist so einfach wie eine TStringList, also mit Add/IndexOf etc. zu bearbeiten. |
Re: mehrere TwebBrowser zur laufzeit erzeugt von wem kommt e
Habe es nun hinbekommen, meine procedure sieht nun so aus und funktioniert prima. Die lösung war das TEmbeddedWB(asender).
Delphi-Quellcode:
procedure Tform4.DocumentComplete(ASender: TObject; const pDisp: IDispatch; var URL: OleVariant);
begin html2.Clear; TEmbeddedWB(asender).SaveFrameToStrings(0,html2); if pos('login',html2.text) <> 0 then begin Showmessage('Login gefunden'); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:56 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