![]() |
hmm ein problem ist, dass ich dann das was ich machen wollte gar nicht machen kann, wenn dieses ondocumentload eine eigene prozedur ist...
ich wollte eigentlich ein memo nehmen und in dieses memo zeile für zeile verschiedene URL's eintragen...der soll anfangen die erste url zu laden, dann abwarten bis das document übertragen wurde und dann die nächste URL aus dem Memo laden usw. Ich zerbrech mir den kopf aber ich kanns dann weder über ne for-schlife noch über ne while schleifen lösen, da die 2 prozeduren undabhängig voneinenader laufen....mist... Weiß einer eine Lösung...Mir qualmt der Kopf... Grüße an alle! :freak: :cry: |
Moin Cookie Eater,
Du arbeitest das Memo in einer For Schleife ab. Bevor eine Seite geladen wird, setzt Du ein Flag. Jetzt wird das Laden der Seite gestartet. Anschliessend kommt eine While Schleife mit Application.ProcessMessages, die erst verlassen wird, wenn das Flag wieder gelöscht ist, und dies passiert im OnDocumentComplete o.ä. Jetzt kommt der Rest der For Schleife. Ggf. solltest Du vielleicht noch einen Abbruch Button vorsehen, der das Flag auch zurücksetzen kann. Das Flag muss nicht unbedingt ein Boolean sein. Dann kannst Du ggf. unterscheiden, ob denn nun ein Abbruch für das akutelle Dokument angefordert wurde, oder für dieses und alle folgenden Dokumente. |
Zitat:
Code:
problem ist, dass sich das programm aufhängt...habe das dumpfe gefühl, dass der in der while schleife hängen bleibt...aber das kann eigentlich nicht sein, denn irgendwann ist ja loaddone = 1 und damit müsste er diese schleife verlassen...for i := 0 to 2 do begin webbrowser1.Navigate(memo1.Lines[i]); while loaddone = 0 do begin //tue nichts und warte bis seite geladen end; loaddone := 0; end; mache ich es aber so:
Code:
geht es :freak: ...ist der selbe code nur das ich mir solange die seite nicht geladen wurde eine meldung 'hallo' ausgeben lasse...warum hängt der sich bei ersterem beispiel auf??for i := 0 to 2 do begin webbrowser1.Navigate(memo1.Lines[i]); while loaddone = 0 do begin showmessage ('hallo'); end; loaddone := 0; end; das mit der messagebox iss mist. habe kein bock mit jedes mal daneben zu setzen und die message mit ok zu bestätigen... sieht hier jemand durch??? Grüße |
Moin Cookie Eater,
Zitat:
|
ahso....sorry wusste gar nicht, dass Application.ProcessMessages ne anweisung ist....was genau bedeutet Application.ProcessMessages eigentlich....soviel wie tue nichts???
auf alle fälle funzt jetzt alles soweit... :hello: :hi: BIG BIG THNX!!! |
Moin Cookie Eater,
Application.ProcessMessages verarbeitet anstehende Windows Messages, und kehrt erst dann zurück. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:37 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