Hallo,
Ich mache große Fortschritte mit meinem Programm, jedoch stehe ich einmal wieder vor einer Frage,
die ich heute den ganzen Tag versuche zu lösen, aber ihr einfach nicht auf den Grund komme.
Die Problematik besteht darin, dass ich eine Schleife beenden will, wenn eine bestimmte Webseite
in meinem TWebBrowser aufgerufen wird.
Ich habe das Ganze zuerst mit einer repeat until schleife versucht, was ebenfalls scheiterte,
somit habe ich es so versucht:
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
Var
i : integer;
begin
i := 0;
continue := true;
while (i < 50) and continue do
begin
Application.ProcessMessages;
i:=i+1;
Application.ProcessMessages;
if Webbrowser1.LocationURL = 'http://www.webseite.de/stop.php' then continue := false else
begin
Application.ProcessMessages;
WebBrowser1.Navigate('http://www.webseite.de/profile.php?'+memo1.Lines[memo1.Lines.Count-1]);
Application.ProcessMessages;
sleep(3000);
Application.ProcessMessages;
Profil := memo1.Lines[memo1.Lines.Count-1];
Application.ProcessMessages;
memo1.Lines.delete(memo1.Lines.Count-1);
Application.ProcessMessages;
end;
Application.ProcessMessages;
end;
PlaySound('SystemQuestion', 0, SND_ALIAS or SND_ASYNC) ;
PlaySound('DeviceConnect', 0, SND_ALIAS or SND_ASYNC) ;
end;
Was aber auch nicht funktioniert, die Schleife läuft einfach 50 mal durch und das wars,
selbst wenn innerhalb der 50x die "Stop-Seite" kommt, rennt er weiter. Außerdem öffnen
sich zwar die Seiten, wobei der TWebBrowser aber nicht aktuallisiert wird, d.h. die erste
Seite bleibt stehen (Und die Seiten öffnen sich unsichtbar alle 3 Sekunden).
Die Abfrage der Webseite ohne Schleife geht super, z.B. um einen Button zu disablen, daher
wundert es mich, dass es in meiner Schleife nicht geht.
Bin echt am Verzweifeln und mit meinem latein am Ende,
es muss doch einfach irgendwie gehen, dass trotz der Schleife die angezeigte Seite aktuallisiert
und bei der Stop - Seite die Schleife beendet wird !?
Freue mich auf Antworten,
Grüße,
- M.S.
EDIT:
Mit den vielen Application.ProcessMessages; versuche ich , das Programm "nicht hängend" aussehen zu lassen, sodass es refreshed wird während der Schleife sozusagen.