Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Programm soll 250ms in warteschleife gehen und ...
Delete - Do 14.09.06 23:24
Titel: Programm soll 250ms in warteschleife gehen und ...
Hallo,
ich habe ein Problem.
Ich möchte das mein Programm ca. 250ms in Warteschleife geht in dabei eine Aktion ausführt.
Ausführt ist nicht das richtige Wort. Es soll zb. 250ms ein Label angezeigt werden. Die Prozedure soll solange warten bis die 250ms vorbei sind und danach weiter arbeiten.
Label ausblenden und weiter rechnen oder so.
Ich habe es bisher mit "sleep" gemacht das gfällt mir aber nicht ,weil dann das ganze Programm nicht reagiert.
Könnt Ihr mir helfen wie man das noch machen kann?
Ich DANKE euch...
Gruß
Mathias
Phantom1 - Do 14.09.06 23:35
Probiere es mal hiermit:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure delay(msec: Cardinal); var start: Cardinal; begin start:=gettickcount; while gettickcount - start < msec do application.processmessages; end; |
Delete - Fr 15.09.06 08:46
Hallo,
danke erstmal für die Antwort.
Kannst du mir auch noch sagen was dieses application.processmessages macht bzw. funtioniert?
Gruß
passiv - Fr 15.09.06 09:05
die lässt das Programm weiterarbeiten
steht in der Hilfe von Delphi :wink:
DaRkFiRe - Fr 15.09.06 09:11
Genauer gesagt, wird die Message Queue abgearbeitet (was der Titel der Methode schon sagt).
Sprich, obwohl Dein Programm (der Mainthread) an dieser Stelle nicht die Kontrolle an die VCL (GUI) abgeben würde - mit diesem Befehl tut er das.
Delete - Fr 15.09.06 13:02
Ich danke euch erstmla werde das mal testen und dann berichten...
Mathias
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!