![]() |
Abarbeiten von Befehlen - Reihenfolge etc.
Hallo,
hätte mal eine interessante Frage: Also ich hab folgenden Code:
Delphi-Quellcode:
Wenn der Code so ist dann führt Delphi die Befehle die nach dem Timer kommen sofort aus, ohne zu warten.....
code vor timer
timer1.Enabled:=true; code nach timer Nun habe ich mal das ganze etwas modifiziert:
Delphi-Quellcode:
und nun wartet delphi bis der timer abgearbeitet ist und führt dann erst den code nach dem timer aus
code vor timer
timer1.Enabled:=true; while timer1.Enabled=true do Application.ProcessMessages; code nach timer könnt ihr mir erklären wie das delphitechnisch zusammenhängt? |
Re: Abarbeiten von Befehlen - Reihenfolge etc.
Hi!
Wieso das so ist? Soweit ich das richtig verstehe, dann "hängt" Delphi doch in der while-Schleife fest, bis diese (und damit der Timer) fertig ist und macht erst dann weiter! Ciao Frederic |
Re: Abarbeiten von Befehlen - Reihenfolge etc.
hm stimmt du hast recht :nerd:
ist die lösung so akzeptabel oder gibt es ne elegantere lösung für das problem? |
Re: Abarbeiten von Befehlen - Reihenfolge etc.
Guten Morgen,
wozu brauchst Du denn so ein Konstrukt? Ein Timer ist doch gerade dazu da unabhängig wo das Programm gerade in der Verarbeitung ist in bestimmten Zeitabständen etwas zu tun. Wenn das Programm solange nichts machen soll wenn der Timer enabled ist - der Sinn dazu verschließt sich mir ein wenig. Denn Timer.enabled = true heißt ja auch nur, daß der Timer scharf geschaltet ist und nicht ob die Timer Methode schon abgearbeitet wurde. Es sei denn Du setzt den Timer.enabled := false in der Timer Methode zurück. Dann kannst Du das Konstrukt
Delphi-Quellcode:
code vor timer
timer1.Enabled:=true; while timer1.Enabled=true do Application.ProcessMessages; code nach timer
Delphi-Quellcode:
Grüße
code vor timer
delay(Zeit) code nach timer Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:34 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