(21.11.2014 08:36 )Kiesch schrieb: Will sagen: Man muss bei geschachtelten Events extrem vorsichtig zu Werke gehen,
Hier liegt bei Dir ein Missverständnis vor - oder bei mir.
Wenn Oli schrieb: "
Wenn ich innerhalb eines Events mehrere andere Events auslöse...", so ist das doch nicht so zu verstehen, dass innerhalb dieses Event-Cases eine andere Eventstruktur hineingeschachtelt werden soll. (Mich wundert sehr, dass NI davor warnt - auf so eine verrückte Idee so etwas zu machen kann man doch gar nicht kommen, hätte ich gedacht).
Nein, es ist lediglich die Rede davon, dass inerhalb diese Ereignissescases ein oder mehrere weitere Ereignise aktiviert werden sollen - und zwar solche, die in derselben Ereignisstruktur als Cases angelegt sind. Von "Schachtelung" von Ereignissen kann also gar keine Rede sein.
Zusatzinformation für Newbies: Anfänger werfen manchmal Ereignisse mit Interrupts in einen Topf. Ja, das Aktivieren eines Ereignisses löst zwar einen sofortigen systeminternen Interrupt aus. Der bewirkt aber nur, dass das Ereignis in die Ereignis-Warteschlange hineinkommt. Die eigentliche Ereignisbehandlung erfolgt dann aber nicht als Interrpt, sondern ganz normal bei der Programmabarbeitung, wenn die Ereignisstruktur an der Reihe ist. Dabei werden nicht mal alle Ereignisse behandlet, sondern nur das eine, welches in der Warteschlange vorn liegt.
Hier bedeutet das: Wenn in einem Ereignsicase ein neues Ereignis aktiviert wird, so wird nicht etwa die Abarbeitung dieses Cases unterbrochen. Dieses neue Ereignis wird erst behandelt, wenn die Ereignisstruktur im Programmablauf wieder mal an der Reihe ist. Sehr oft ist das aber gleich der Fall, vor allem wenn sich die Ereignisstruktur innerhalb einer eigenen parallelen while-Schleife befindet.