Einzelnen Beitrag anzeigen

Viktorii

Registriert seit: 19. Jul 2007
358 Beiträge
 
#4

AW: VCL Elemente in geblocktem Ereignishandler disablen

  Alt 21. Aug 2012, 08:10
Das ganze ist für kleines Tool eine Quick and Dirty Lösung. Das sleep ist hier nur ein Platzhalter. Eigentlich wird eine Funktion aufgerufen die für eine gewisse Zeit blockiert...

Habe für das Tool eigentlich keine Lust mit mehreren Threads zu hantieren. Mit ist klar, dass das Fenster für die Zeit nicht verschiebbar bzw. für Benutzereingaben nicht empfänglich ist. Es soll durch das disablen nur eine optisches Feedback gegeben werden, dass das Tool beschäftigt ist.

Man kann mit der VCL nicht so umgehen, als ob jeder Aufruf einer Methode einen unmittelbaren Effekt hätte. Insbesondere die Methoden/Eigenschaften zur Veränderung des Aussehens (Enable, Visible, Caption etc.) sollten eher nach dem Motto: "Bitte ausführen, wenn die Anwendung mal wieder Zeit hat" gehandhabt werden.
Ich dachte genau dafür ist processmessage da. Man sagt: "Nimm dir jetzt Zeit um alles abzuarbeiten was angefordert ist und mache erst dann weiter" (in diesem Fall das disablen). Also lässt die VCL solch eine Lösung nicht zu?
  Mit Zitat antworten Zitat