Moin erstmal!
| Trialtom hat folgendes geschrieben: |
| Kann es manchmal sein, das wenn eine Schleife irgendwann im quellcode enthalten ist, das delphie als erstes die schleife ausführt und dann erst die befehle, die davor stehen? wieso. |
Ich denke, daß diese Phänomen bei dir auftritt, wenn du innerhalb von einer Schleife Ausgaben auf den Bildschirm bringen willst. Stimmts?
Wenn dem so ist, dann liegt es daran, daß für Delphi die Bildschirmausgabe "zweitrangig" ist. Das heißt im klartext: Delphi arbeitet die Anweisungen so schnell ab, daß nur einige wenige oder nur die letzte Ausagabe auf dem Bildschirm erscheint.
Beispiel:
Quelltext
1: 2: 3: 4:
| for i: 1 to 10 do begin Label1.caption:=IntToStr(i); end; |
In diesem Beispiel sollte nur die 10 im Label erscheinen. Delphi hat aber in der zwischenzeit alle Ausgaben abgearbeitet - nur nicht angezeigt.
Um dieses zu verhindern (bei Statusbars z.B.) mußt du den Befehl
Quelltext
1:
| Application.ProcessMessages; |
in die Schleife mit einbauen. Wenn Du zwischen den einzelnen Ausgaben noch ein bischen "warten" willst brauchst du noch den Befehl
Quelltext
... auch widerum in der Schleife.
Hoffe das hat dir ein bischen weitergeholfen.
Gruß Renegade