' schrieb:Oder wie sieht es mit folgendem Aufbau aus:
[attachment=32128:EventStructure2.JPG]
Diese Variante ist die Regel, und sie kann bei Dir deshalb nicht funktionieren, weil Du oben links das Timeout nicht angeschlossen hast.
(Achim hat das zwar schon gesagt, aber doppelt und mit anderen Worten hält besser).
Default ist dummerweise -1, und das heißt unendlich lange warten. Du mußt also eine 0 anschließen, bzw., wenn Du im Hauptprogramm eine Wartezeit brauchst, den entsprechenden Wert.
Für die Ausführung des Hauptprogramms gibt es zwei Varianten:
a) Ausführung so wie Du es gezeichnet hast
b) Ausführung des Hauptprogramms im Timeout-Case
Ich bevorzuge b), dh. ich mache den Event-Case so groß, daß er die While-Schleife voll ausfüllt und habe dann riesig viel Platz, sowohl für das Hauptprogamm als auch für die einzelnen Cases.
Die Unterschiede zwischen beiden Varianten sind minimal: Beim Auftreten von 2 Ereignissen gleichzeitig wird bei Variante a) zwischendurch das Hauptprogramm bedient, während bei Variante b) erst mal beide Ereignisse abgearbeitet werden, bevor das Hauptprogramm wieder an der Reihe ist.
Achim schreibt, die Methode b) sei fragwürdig - ja das habe ich auch schon mal gelesen, aber niemand sagt den Grund dazu, und funktionieren tut es bestens.
Gruß Ludwig