![]() |
Ereignis von OnDownloadComplete bei Browser-Instanz?
Hallo
Der Titel ist etwas unglücklich gewählt. Ich grüble nun schon seit Tagen darüber, wie man bei einer dynymisch erzeugten Webbrowser-Instanz, Ereignisse abfangen kann. Ich habe also eine PageControl, auf der bei jeder Eingabe einer URL ein neues Tabsheet erzeugt und darauf eine neue Instanz von TWebbrowser angelegt wird. Gleichzeitig wird eine Ladeanimation gestartet. Beispiel:
Delphi-Quellcode:
Wie kann man nun das Ereignis OnDownloadComplete der neuen Instanz abfangen, um beispielsweise die Ladeanimation wieder zu stoppen.
Animate1.Active := True;
(PageControl1.ActivePage.Controls[0] as TWebBrowser).Navigate(ComboBox1.text);{navigiert zur eingegeben URL. Das ist noch kein Problem.} Ich habe überhaupt keinen Plan. Danke |
Re: Ereignis von OnDownloadComplete bei Browser-Instanz?
Hat keiner eine Idee???
|
Re: Ereignis von OnDownloadComplete bei Browser-Instanz?
Dann musst du eben die entsprechenden Ereiginsse im Code zuweisen.
|
Re: Ereignis von OnDownloadComplete bei Browser-Instanz?
Toll, leider habe ich keinen Ansatz. Könnte mir folgendes vorstellen:
Delphi-Quellcode:
Das führt aber logischerweise zu einem Fehler.
(ADVPageControl1.ActivePage.Controls[0] as TWebBrowser).OnDownloadComplete :=Animate1.Active:=False;
Trotzdem Danke, Luckie |
Re: Ereignis von OnDownloadComplete bei Browser-Instanz?
Du musst folgende Prozedur anlegen:
Delphi-Quellcode:
und diese dem Eregnis dann beim dynamischen Erstellen der Webbrowserinstanz zuweisen:
procedure TForm1.MyWebbrowserDownloadComplete(Sender: TObject);
begin Animate1.Active:=False; end;
Delphi-Quellcode:
MfG Pr0g
MyWebbrowser := TWebBrowser.Create;
//weiterer Code MyWebBrowser.OnDownloadComplete := MyWebbrowserDownloadComplete; |
Re: Ereignis von OnDownloadComplete bei Browser-Instanz?
Ich bekomme das einfach nicht gebacken!!!! Mein bisheriger Code:
Delphi-Quellcode:
procedure TBrowser.NewWindow(Sender: TObject;var ppDisp: IDispatch; var Cancel: WordBool);
var Tabsheet: TTabsheet; Browser: TWebBrowser; begin Button1Click(nil); TabSheet:= PageControl1.ActivePage; ppDisp:= (PageControl1.ActivePage.Controls[0] as TWebBrowser).DefaultInterface; end;
Delphi-Quellcode:
procedure TBrowser.Button6Click(Sender: TObject);
begin Animate1.Active := True; (ageControl1.ActivePage.Controls[0] as TWebBrowser).Navigate(ComboBox1.text); ComboBox1.Items.Add(ComboBox1.Text); //<--- und hier soll nach Laden der Seite die Animation wieder //gestoppt werden. end; |
Re: Ereignis von OnDownloadComplete bei Browser-Instanz?
Hast du das gemacht, was ich oben erklärt habe? Wenn du dabei Probleme hast musst du schon was genauer werden. Einfach deinen aktuellel Code zu posten, bringt auch nichts ;)
|
Re: Ereignis von OnDownloadComplete bei Browser-Instanz?
Delphi-Quellcode:
procedure WaitForBrowser(WB: TWebbrowser); begin while (WB.ReadyState <> READYSTATE_COMPLETE) and not (Application.Terminated) do begin Application.ProcessMessages; Sleep(50); end; end; procedure TBrowser.Button6Click(Sender: TObject); begin Animate1.Active := True; (PageControl1.ActivePage.Controls[0] as TWebBrowser).Navigate(ComboBox1.text); ComboBox1.Items.Add(ComboBox1.Text); WaitForBrowser(PageControl1.ActivePage.Controls[0] as TWebBrowser); //<--- und hier soll nach Laden der Seite die Animation wieder //gestoppt werden. Animate1.Active := False; end; |
Re: Ereignis von OnDownloadComplete bei Browser-Instanz?
Hy toms,
Auf diese Idee muß man erst mal kommen. So muß es ja funktionieren. Danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:00 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