![]() |
kein Zugriff auf Buttons während Routine ausgeführt wird
Hallo zusammen!
Ich habe eine Routine, die verschiedene Zellen in einem StringGrid ändert. Der Benutzer kann zu Beginn verschiedene Geschwindigkeiten wählen, um die Simulation entsprechend zu verfolgen. Während der Simulation soll es möglich sein, einen Stop- oder auch Pause-Button zu drücken. Im OnButtonClick der Buttons setze ich ein flag auf true, das ich dann jeweils am Ende meiner Routine abfrage. Wenn flag gesetzt, dann exit, ansonsten durch- laufe Routine mit neuen Parametern. Leider ist es nicht möglich, während der Simulation die Buttons zu clicken. Muß ich dazu noch irgendwas gesondert einstellen?
Code:
if flagPause or flagStop then exit //ansonsten erneuter Aufruf mit neuen Parametern else begin sleep(varSleep); //warte, abhaengig von der eingestellten Geschwindigkeit bewegeZeiger(frm_simulation.sg_simulation.Cells[aktSpalte, 1], neuZustand); end; //else |
Re: kein Zugriff auf Buttons während Routine ausgeführt wird
sleep friert das ganze Programm ein, benutzt stattdessen
![]() |
Re: kein Zugriff auf Buttons während Routine ausgeführt wird
hi,
füge anch deinem sleep folgende zeile ein:
Delphi-Quellcode:
damit werden anstehende nachrichten (zB ein ButtonCLick) verarbeitet.
application.processmessages;
Aenogym |
Re: kein Zugriff auf Buttons während Routine ausgeführt wird
Daß der Benutzer die Reaktion auf seinen Button erst nach dem nächsten
sleep, bei einer langsamen Geschwindigkeit also erst relativ spät sieht, läßt sich wahrscheinlich nicht verhindern, oder? |
Re: kein Zugriff auf Buttons während Routine ausgeführt wird
Zitat:
![]() Aenogym |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:04 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 by Thomas Breitkreuz