![]() |
Timer, blicke nicht durch *revision*
Hallo,
ich habe eine SChleife wo ich warte bis eine Webseite geladen ist. Den Status prüfe ich mit READY_STATE, wenn er jedoch länger als 15 Sekunden lädt möchte ich dass der Browser die Seite neu öffnet. Wie realisiere ich das? Gruß |
Re: Timer, blicke nicht durch
Mach das ganze mit nem Timer, in etwa so(Pseudocode):
[delphi]Timer.Intervall = 1000 procedure Timer; begin if Ready_State ...//hier deine Abfrage ob er noch lädt then Timer1.Tag + 1; if Timer1.Tag = 15 then begin Refresh; //Seite neu laden Timer1.Tag = 0; end; end; |
Re: Timer, blicke nicht durch
Delphi-Quellcode:
Probiers mal so, ist einfacher als die Idee von xX0815Xx.
tmReadyTimer.Interval = 15000
TMyForm.tmReadyTimer(Sender: TObject); begin if not READY_STATE then // hier das Browser.Reload rein end; TMyForm.ButtonClick(Sender: TObject); begin tmReadyTimer.Enabled:= True; // Browserseite laden aufrufen tmReadyTimer.Enabled:= False; end; Gruß, |
Re: Timer, blicke nicht durch
Danke euch. Kann ich auch sagen wenn Timer1 bei 15 sekunden angekommen ist dann inc(x) und x ist die zählvariable von while?
|
Re: Timer, blicke nicht durch
Also zum Beispiel:
Delphi-Quellcode:
So wenn eine Seite nicht laden sollte, wie kann ich an der Stelle jetzt ein Timer einbauen der nach 15-20 Sekunden die Schlei neu ausführt????
while(x<=10)do
begin EmbeddedWb1.go(url); EmbeddedWb2.go(url); while embeddedwb1.ReadyState <> READYSTATE_COMPLETE do begin Application.ProcessMessages; end; while embeddedwb2.ReadyState <> READYSTATE_COMPLETE do begin Application.ProcessMessages; end; inc(x); end; |
Re: Timer, blicke nicht durch *revision*
BItte helft mir... :oops:
|
Re: Timer, blicke nicht durch *revision*
Ehrlich gesagt habe ich das Problem noch nicht ganz verstanden. Du willst in einem Webbrowser eine Seite aufrufen und, wenn diese nicht nach 15 Sekunden vollständig geladen ist, einen Refresh durchführen?
|
Re: Timer, blicke nicht durch *revision*
jo ! aber die ganze schleife soll neu durchlaufen werdne!
|
Re: Timer, blicke nicht durch *revision*
I hope I got you right....
ich kenne zwar die Komponente nicht, aber... maybe helps...
Delphi-Quellcode:
ABER !!! Es besteht die Gefahr, dass Du niemehr aus der While-Schleife kommst (z.B. keine Internetverbindung)...
procedure TYourClass.FireEmUp;
begin EmbeddedWb1.go(url); EmbeddedWb2.go(url); FYourCounter := 0; end; function TYourClass.CheckState(const browser:TEmbeddedWB):Boolean; begin result := (browser.ReadyState <> READYSTATE_COMPLETE); end; procedure TYourClass.YorTimer(Sender: TObject); begin if (CheckState(EmbeddedWb1) or CheckState(EmbeddedWb2)) then begin inc(FYourCounter); if (FYourCounter>15) then FireEmUp; end else YorTimer.Enabled := False; end; . . YourTimer.Interval := 1000; FireEmUp; //[edit] Zeilentausch [/edit] YorTimer.Enabled := True; //[edit] -- " -- [/edit] While (YorTimer.Enabled) do begin Application.ProcessMessages; // Was noch so ansteht end; . . .. such nach was stilitisch schoenerem... |
Re: Timer, blicke nicht durch *revision*
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:02 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