AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TWebbrowser frame neu laden warten bis fertig?

TWebbrowser frame neu laden warten bis fertig?

Ein Thema von gandime · begonnen am 24. Jun 2007 · letzter Beitrag vom 25. Jun 2007
Antwort Antwort
gandime
(Gast)

n/a Beiträge
 
#1

TWebbrowser frame neu laden warten bis fertig?

  Alt 24. Jun 2007, 15:47
Hi,
ich habe bei meiner TWebbrowser Komponente ein Problem:

Ich habe eine Seite geladen mit zwei Frames.
dann lade ich einen der beiden Frames mit einer anderen inetadress mit folgendem code:

Delphi-Quellcode:
var
  ov: OleVariant;
begin
  web.Navigate('http://www.xyz.de','','Hauptframe',ov);
end;
blos wenn ich jetzt warte bis die Procedure DocumentComplete ausgelöst wird weiss ich nicht ob der komplette Frame geladen wurde oder nur ein Teil.
Code von DocumentComplete:

Delphi-Quellcode:
procedure TForm1.WebDocumentComplete(ASender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var
  CurWebrowser: IWebBrowser;
  TopWebBrowser: IWebBrowser;
begin
  CurWebrowser := pDisp as IWebBrowser;
  TopWebBrowser := (ASender as TWebBrowser).DefaultInterface;
  if CurWebrowser = TopWebBrowser then
  begin
    b_web_f:=true;
    showmessage('haupt');
  end
  else
  begin
    showmessage('sub');// dieses wird bestimmt 5 mal wärend des ladens des neuen Frames ausgelöst (es ist aber nie die selbe Anzahlt!)
  end;
end;
Wie erkenne ich ob der Ladevorgang abgeschlossen is?

mfg
gandime
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: TWebbrowser frame neu laden warten bis fertig?

  Alt 24. Jun 2007, 19:31
Hallo,

aufgrund des propagierten Schreibfehlers vermute ich die Quelle deines Codes in diesem Beitrag: TWebBrowser OnDocumentComplete

Ohne deine Änderungen funktioniert der dort angegebene Code ausgezeichnet.

Getestet habe ich mit dem Beispiel aus SelfHTML: FrameSet

Grüße vom marabu
  Mit Zitat antworten Zitat
gandime
(Gast)

n/a Beiträge
 
#3

Re: TWebbrowser frame neu laden warten bis fertig?

  Alt 24. Jun 2007, 21:08
egl is meine Quelle diese.
aber geholfen is mir damit auch nicht, da ich ja nie genau weiss ob der Frame fertig geladen is!

edit:
so ich habs jetzt nachdem ich den neuen frame geladen habe refreshe ich einfach dann wird die ondocumentchange richtig aufgerufen, wenn ich das jetzt alles auf dem ersten blick richtig sehe
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: TWebbrowser frame neu laden warten bis fertig?

  Alt 25. Jun 2007, 07:37
Guten Morgen.

Zitat von gandime:
egl is meine Quelle diese .
Das ist vermutlich eine Kopie (Eigentlich generell schade, dass man einem Beitrag im SDC selten sein Erstellungsdatum ansieht - oder übersehe ich da etwas?).

Zitat von gandime:
... aber geholfen is mir damit auch nicht, da ich ja nie genau weiss ob der Frame fertig geladen is! ...
Hier verstehe ich dich nicht. Sobald das Ereignis OnDocumentComplete() gefeuert wird und du in pDisp deinen Frame erkennst, ist der Code dieses Frames vollständig geladen und steht als HTML DOM zur Verfügung. Genauer geht es doch gar nicht!

Freundliche Grüße
  Mit Zitat antworten Zitat
gandime
(Gast)

n/a Beiträge
 
#5

Re: TWebbrowser frame neu laden warten bis fertig?

  Alt 25. Jun 2007, 09:58
das OnDocumentComplete Ereignis wird öfters ausgelöst! und ich weiss auch nicht warum...
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: TWebbrowser frame neu laden warten bis fertig?

  Alt 25. Jun 2007, 11:18
Es ist normal, dass OnDocumentComplete() mehrfach gefeuert wird, wenn du mehrere Frames aktualisierst. Der in #2 verlinkte Code zeigt dir ja die Namen der Frames. Sind sie verschieden oder ist es immer der gleiche Frame?
  Mit Zitat antworten Zitat
gandime
(Gast)

n/a Beiträge
 
#7

Re: TWebbrowser frame neu laden warten bis fertig?

  Alt 25. Jun 2007, 11:21
es sind meist unterschiedliche
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: TWebbrowser frame neu laden warten bis fertig?

  Alt 25. Jun 2007, 11:41
Wenn du magst, dann baue ein Testszenario für mich auf und ich erkläre dir was da passiert. Oder gibt es öffentlich zugängliche URLs, mit denen ich testen kann?
  Mit Zitat antworten Zitat
gandime
(Gast)

n/a Beiträge
 
#9

Re: TWebbrowser frame neu laden warten bis fertig?

  Alt 25. Jun 2007, 12:44
ich hab gerade gemerkt das die Frames zwar immer unteschiedlich geladen werden und mit verschiedenen Namen aber einer is immer gelich und das is der den ich brauche
also danke für deine Bemühungen und deine Hilfe jetzt gehts
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz