AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi überprüfen ob dokument übertragen wurde
Thema durchsuchen
Ansicht
Themen-Optionen

überprüfen ob dokument übertragen wurde

Ein Thema von cookie_eater · begonnen am 3. Jul 2003 · letzter Beitrag vom 4. Jul 2003
Antwort Antwort
Seite 2 von 2     12   
cookie_eater

Registriert seit: 17. Apr 2003
21 Beiträge
 
#11
  Alt 4. Jul 2003, 16:45
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!
Bitte drücken Sie F13 zum Start des Intelligenz-Tests
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#12
  Alt 4. Jul 2003, 17:50
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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
cookie_eater

Registriert seit: 17. Apr 2003
21 Beiträge
 
#13
  Alt 4. Jul 2003, 19:13
Zitat von Christian Seehase:
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.
gute idee...habs ganz ähnlich gemacht! habe eine globale variable mit dem namen "loaddone" als int deffiniert die ich zuerst auf 0 setze und im event von OnDocumentComplete auf 1. so sollte document done 1 sein, wenn eine seite geladen wurde..habe dann eine while in einer for schleife gemacht:

Code:

     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;
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...

mache ich es aber so:

Code:

     for i := 0 to 2 do begin
     webbrowser1.Navigate(memo1.Lines[i]);

while loaddone = 0 do begin
 showmessage ('hallo');
end;

     loaddone := 0;
     end;
geht es ...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??

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
Bitte drücken Sie F13 zum Start des Intelligenz-Tests
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#14
  Alt 4. Jul 2003, 20:26
Moin Cookie Eater,

Zitat von Christian Seehase:
Anschliessend kommt eine While Schleife mit Application.ProcessMessages
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
cookie_eater

Registriert seit: 17. Apr 2003
21 Beiträge
 
#15
  Alt 4. Jul 2003, 20:59
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...



BIG BIG THNX!!!
Bitte drücken Sie F13 zum Start des Intelligenz-Tests
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#16
  Alt 4. Jul 2003, 21:43
Moin Cookie Eater,

Application.ProcessMessages verarbeitet anstehende Windows Messages, und kehrt erst dann zurück.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:42 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