' schrieb:Also könnte ich alle Events, die existieren, in eine Eventstruktur packen (die sich in einer while-Schleife befindet).
Genau:
Alle Events kommen in
eine Eventstruktur, die
alleine in einer eigenen While-Schleife sitzt.
Zitat:Und wenn hier ein Event gestartet wird, startet mein Code, der sich z. B. außerhalb in einem Case befindet?!
Eigentlich: Nein.
Ein Event wird außerhalb der Eventstruktur "gestartet", z.B. durch einen Tastendruck, durch ein ValueSignalisierend oder durch ein Benutzerevent. "Bearbeitet" wird der Event in der Eventstruktur. Soll der Tastendruck per Event einen Ablauf ("mein Code") starten, so muss im Event-Case ein Befehl stehen, der den Ablauf startet.
Oft ist ein Ablauf eine Statemachine - die wiederum wird durch eine Case-Struktur wieder in eigener While-Schleife realisiert.
Da die Event-Whileschleife und die Statemachine-Whileschleife programmtechnisch getrennt sind, kann man Daten nicht direkt vom Event zum Case verdrahten - hierfür gibt es dann z.B. eine Queue.
Die Abarbeitung eines Events sollte so schnell wie möglich sein. Damit nämlich andere Events auch bearbeitet werden können. Es ist daher nicht ratsam, langdauernde Abläufe in einen Event-Case zu setzen. Solch einen Ablauf in die Event-Whileschleife neben die Event-Struktur zu setzen, ist natürlich genauso nachteilig.