![]() |
Schleife warten lassen bis fertig geladen wurde
Hi
Wie lasse ich eine Schleife warten? Ich habe es bereits mit [delphi] repeat until [delphi] versucht aber dann stürtzt das Programm gleich ab oder ladet nicht weiter. Vor der repeat Schleife wird eine TWebBrowser Url aufgerufen, erst wenn die fertig geladen wurde, darf die Schleife weiterlaufen. Wie mache ich das? Lg :-D :) |
Re: Schleife warten lassen bis fertig geladen wurde
Der Aufruf von WebBrowser.Navigate kehrt sofort zurück, und wartet nicht auf das erfolgreiche Laden der Seite. Dieses wird durch Aufruf des Callbacks von onDocumentComplete quitiert.
|
Re: Schleife warten lassen bis fertig geladen wurde
Hi,
der WebBrowser bietet ein Event "OnDocumentComplete" (oder sowas, weiß es gerade nicht genau) an, damit kannst Du überprüfen, ob das Dokument geladen wurde. |
Re: Schleife warten lassen bis fertig geladen wurde
Dann nimmst du eine while-Schleife. Dies ist eine sogenannte abweisende Schleife, Repeat-Until ist eben nicht abweisend - sie wird immer mindestens einmal durchlaufen, weil die Prüfbedingung am Ende steht.
HTH, der Poelser |
Re: Schleife warten lassen bis fertig geladen wurde
Zitat:
|
Re: Schleife warten lassen bis fertig geladen wurde
Zitat:
danke fürs mitdenken.. Also das mit der while-Schleife habe ich soeben probiert aber er stockt wieder.
Delphi-Quellcode:
showmessage('Schleife fertig geladen.. weiterer code');
while geladen = 100 do
begin end; Zitat:
.. ich habe jetzt zum testen noch eine Progressbar eingebaut, aber es ladet nur ein Feld dann fertig, also irgendwo stockt es? Lg :cry: |
Re: Schleife warten lassen bis fertig geladen wurde
Wie gesagt geht es mit einer Schleife nicht so. Du könntest eine private Variable mit dem Index und der Anzahl der Items nalegen und dann im .onDocumentComplete wenn Anzahl noch nicht erreicht die nächste Url aufrufen.
|
Re: Schleife warten lassen bis fertig geladen wurde
Zitat:
|
Re: Schleife warten lassen bis fertig geladen wurde
Zitat:
Ich habe jetzt aber noch was versucht. Vor der while Schleife einfach: Zitat:
Ist es jetzt evetuell möglich das showmessage(); automatisch zu schliessen, wenn WebBrowser1DocumentComplete? Lg |
Re: Schleife warten lassen bis fertig geladen wurde
Man könnte auch innerhalb der Schleife mit Delay() o.ä. warten ( Wartezeit größer längste erwartete Ladezeit)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:31 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