Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi twebbowser URL´s nacheinander aufrufen (https://www.delphipraxis.net/127459-twebbowser-url%B4s-nacheinander-aufrufen.html)

Scorp11 13. Jan 2009 18:39


twebbowser URL´s nacheinander aufrufen
 
hi :hi:
ich bin neu hier und brauche auch gleich mal eure hilfe und zwar will ich mit den twebbrowser url nacheinander mit einem buttonclick aufrufen aber er soll erst zur nächsten übergehen wen die davor zu ende geladen wurde

ich habe es mir mal sowas ähnliches vorgestellt
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
if
  then
  webbrowser1.Navigate('Http://hp.xx/index.php/');
  then
  webbrowser1.Navigate('Http://hp.xx/ads/');
  then
  webbrowser1.Navigate('Http://hp.xx/ads/kf/');
begin
end;
end;
end.
PS. ich weiss das der code nicht funtioniert

achso für ein code wäre ich sehr dankbar

mfg,scorp

Mendelsohn 13. Jan 2009 19:38

Re: twebbowser URL´s nacheinander aufrufen
 
Du könntest es mit dem "DocumentComplete"-Ereignis von TWebbrowser versuchen.
Allerdings habe ich die Erfahrung gemacht, dass dies (wie so einiges rund um den Internet Explorer) nicht immer zuverlässig funktioniert. Ich nutze daher:

Delphi-Quellcode:
procedure ladeSeite;
begin
    while ((Form1.Webbrowser1.ReadyState <> ReadyState_complete) or
    (Form1.Webbrowser1.Document = nil) or
    ((Form1.Webbrowser1.Document AS IHTMLDocument2).readyState <> 'complete')) do
    begin
        Application.ProcessMessages;
        sleep (1);
    end;
end;

Beispiel-Code wäre:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
    Form1.WebBrowser1.Navigate ('www.yahoo.de');
    ladeSeite;
    Form1.WebBrowser1.Navigate ('www.google.de');
    ladeSeite;
end;

toms 13. Jan 2009 20:15

Re: twebbowser URL´s nacheinander aufrufen
 
Diese ladeSeite() Procedure ist so nicht zu empfehlen, da das Programm unter Umständen nicht mehr
beendet werden kann wenn nicht aus der while-Schleife gesprungen wird.

Siehe meinn Beitrag Warten bis der TWebBrowser fertig geladen hat?

Scorp11 13. Jan 2009 20:25

Re: twebbowser URL´s nacheinander aufrufen
 
Zitat:

Zitat von Mendelsohn
Du könntest es mit dem "DocumentComplete"-Ereignis von TWebbrowser versuchen.
Allerdings habe ich die Erfahrung gemacht, dass dies (wie so einiges rund um den Internet Explorer) nicht immer zuverlässig funktioniert. Ich nutze daher:

Delphi-Quellcode:
procedure ladeSeite;
begin
    while ((Form1.Webbrowser1.ReadyState <> ReadyState_complete) or
    (Form1.Webbrowser1.Document = nil) or
    ((Form1.Webbrowser1.Document AS IHTMLDocument2).readyState <> 'complete')) do
    begin
        Application.ProcessMessages;
        sleep (1);
    end;
end;

Beispiel-Code wäre:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
    Form1.WebBrowser1.Navigate ('www.yahoo.de');
    ladeSeite;
    Form1.WebBrowser1.Navigate ('www.google.de');
    ladeSeite;
end;

danke dir:angel:


Zitat:

Zitat von toms
Diese ladeSeite() Procedure ist so nicht zu empfehlen, da das Programm unter Umständen nicht mehr
beendet werden kann wenn nicht aus der while-Schleife gesprungen wird.

Siehe meinn Beitrag Warten bis der TWebBrowser fertig geladen hat?

dir auch danke werde ich mir gleich mal anschauen :)

mfg,scorp

Mendelsohn 13. Jan 2009 20:27

Re: twebbowser URL´s nacheinander aufrufen
 
Zitat:

Zitat von toms
Diese ladeSeite() Procedure ist so nicht zu empfehlen, da das Programm unter Umständen nicht mehr
beendet werden kann wenn nicht aus der while-Schleife gesprungen wird.

OK, dann machen wir

Delphi-Quellcode:
procedure ladeSeite;
begin
    while ((Form1.Webbrowser1.ReadyState <> ReadyState_complete) or
    (Form1.Webbrowser1.Document = nil) or
    ((Form1.Webbrowser1.Document AS IHTMLDocument2).readyState <> 'complete')) do
    begin
        Application.ProcessMessages;
        if Application.Terminated then halt;
        sleep (1);
    end;
end;
draus. :-D

toms 13. Jan 2009 20:38

Re: twebbowser URL´s nacheinander aufrufen
 
Zitat:

Zitat von Mendelsohn

OK, dann machen wir
Delphi-Quellcode:
[...]
draus. :-D

Das verhindert aber nicht, dass es eine Endlosschleife geben könnte. (Siehe mein Link oben)


Alle Zeitangaben in WEZ +1. Es ist jetzt 06: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