Hallo zusammen,
gibt es eine Alternative zu Quick&Dirty-Lösungen wie:
Hintergrund
Wie sich erahnen lässt will ich damit mein Programm daran hindern, dass es weiterläuft ohne das der Backgroundworker seine Tätigkeit (BGW fragt alle 20ms einen Portpin/Taster eines µC ab, bis die Taste fünf mal gedrückt wurde) abgeschlossen hat.
Warum asynchron über BGW?
Damit meine UserForm nicht hängt. Diese zeigt mittels Label die Anzahl der Tastendrücke an.
Ich muss gestehen, dass ich es fast so stehen gelassen hätte. Allerdings, wie zu erahnen war, dreht Application.DoEvents() völlig durch und der Debugger gibt mir eine System.ExecutionEngineException aus.
Nun wollte ich fragen was da gängige Praxis ist, da ich mich mit Multithreading bisher nicht so befasst habe. Wahrscheinlich ist meine Vorgehensweise zu prozedural?
Eigentlich gäbe es ja keinen driftigen Grund diese Operation asynchron auszuführen, da ich ja vorhabe auf Abschluss des BGW zu warten. Wäre es vielleicht sinnvoller das über einen normalen Thread zu lösen?
Danke für eure Mithilfe im Voraus!
gibt es eine Alternative zu Quick&Dirty-Lösungen wie:
Hintergrund
Wie sich erahnen lässt will ich damit mein Programm daran hindern, dass es weiterläuft ohne das der Backgroundworker seine Tätigkeit (BGW fragt alle 20ms einen Portpin/Taster eines µC ab, bis die Taste fünf mal gedrückt wurde) abgeschlossen hat.
Warum asynchron über BGW?
Damit meine UserForm nicht hängt. Diese zeigt mittels Label die Anzahl der Tastendrücke an.
Ich muss gestehen, dass ich es fast so stehen gelassen hätte. Allerdings, wie zu erahnen war, dreht Application.DoEvents() völlig durch und der Debugger gibt mir eine System.ExecutionEngineException aus.
Nun wollte ich fragen was da gängige Praxis ist, da ich mich mit Multithreading bisher nicht so befasst habe. Wahrscheinlich ist meine Vorgehensweise zu prozedural?
Eigentlich gäbe es ja keinen driftigen Grund diese Operation asynchron auszuführen, da ich ja vorhabe auf Abschluss des BGW zu warten. Wäre es vielleicht sinnvoller das über einen normalen Thread zu lösen?
Danke für eure Mithilfe im Voraus!