Moin!
GuaAck hat folgendes geschrieben : |
"Mit der Methode ProcessMessages können Sie die Ausführung einer Anwendung unterbrechen, sodass die Botschaftswarteschlange verarbeitet werden kann."
Aber welche Botschaften (= Messages?) sind das? |
Alle Nachrichten (=Messages), die in der MessageLoop des Delphi-Hauptprogrammes (=der VCL-Thread) landen, also auch z.B. die Button-Klicks.
GuaAck hat folgendes geschrieben : |
Kennt jemand einen gute Quelle, wo ich mal was dazu lesen könnte? |
MSDN ist dein Freund.
GuaAck hat folgendes geschrieben : |
Im folgenden Code führt ein Drücken des "Abort"-Knopfes jedenfalls nicht dazu, dass BAbortClick ausgeführt wird. |
Der Code ist ja nicht vollständig, also kann man schlecht sagen, dass er nicht zum gewünschten Ergebnis führt. Lass mal jegliche anderen Befehle aus der Schleife weg, dann wirst du sehen, dass es funktioniert.
GuaAck hat folgendes geschrieben : |
Welche Botschaften werden ausgeführt |
Alle, gnadenlos. Das geht sogar soweit, dass ggfs. auch der Button zum Starten erneut ausgeführt wird.
GuaAck hat folgendes geschrieben : |
und was passiert mit den anderen? |
Da gibt´s keine Selektion, simple Queue.
GuaAck hat folgendes geschrieben : |
(Mit einer Auslagerung der REPEAT...UNTIL-Schleife in einen eigenen Thread ist das Problem behoben.) |
Das hätte ich spätestens jetzt auch empfohlen, denn diese unselige Funktion ist leider ganz weit weg von der sog. "ereignisorientierten Programmierung".
cu
Narses
There are 10 types of people - those who understand binary and those who don´t.