Hallo zusammen,
ich habe für Euch bestimmt eine Standartfrage:
Wie kann ich 2 Schleifen nach Bestätigung über ein Eventcase beenden?
Bei Abbruch des Bestätigungsfenster sollten beide Cases weiter laufen.
Siehe Beispiel

Habe es mit einem User Event geschafft, gibt es noch eine elegantere oder besser gesagt einfachere Methode?
Machs am Besten über Queues oder Notifications. Du brauchst auch nur ein Eventcase. Siehe auch Producer-Consuer Eventbasiert.
' schrieb:Machs am Besten über Queues oder Notifications. Du brauchst auch nur ein Eventcase. Siehe auch Producer-Consuer Eventbasiert.
Hallo,
aha, also beide Eventcases müssen auf jeden Fall bleiben, da noch weitere dynamische Ereignisse in einem Programm abgearbeitet werden (die 2 Schleifen ist eine Vereinfachung davon). Mit den Queues habe ich auch schon etwas gemacht. Ich wüsste aber nicht wie ich es mit einem Eventcase lösen kann.
Kann mir jemand eine Lösung mittels Queues o. Notifications anhand meinem Beispiel zeigen?
Das wäre super...

Grundsätzlich sind mehr als eine Eventstruktur zu vermeiden. Du kannst jedes Event über eine Eventstruktur empfagen und die Abarbeitung auslagern. Schau einfach mal in den mitgelieferten VI Templates nach.
' schrieb:Grundsätzlich sind mehr als eine Eventstruktur zu vermeiden...
Grundsätzlich schon, in meiner Applikation läuft jedoch in ersten eventcase ein Subvi ab, währendessen
das 2. Eventcase andere parallel Bedienfunktionen abarbeitet. Somit geht dies nicht mit einem Eventcase.
' schrieb:Grundsätzlich schon, in meiner Applikation läuft jedoch in ersten eventcase ein Subvi ab...
Das sollte man auch nicht tun:flop:Eventstrukturen dienen nur der Erfassung von Events. Deren Abarbeitung sollte man auslagern. Einkommende Events in eine Queue und schon geht nix verlohren (siehe Producer-Consumer).
Hi,
man sollte im Eventcase eigentlich keinen lang dauernden Code ausführen... Der Nutzer hängt sonst rum, drückt irgendwas und hat dann hinterher einen Ablauf, den er nicht haben wollte. Folgende Vorschläge:
- State-Machine mit einer Event-Struktur im Idle-State (die arbeitet dann alle Event-Cases ab, macht aber nichts anderes als der State Machine zu sagen, was der nächste State ist)
- Producer-Consumer-Struktur, wo der Producer die Event-Struktur beinhaltet und der Consumer als State-Machine einfach nur die Sachen macht, die gemacht werden sollen. Hat den Vorteil, dass man etwas besseren Eingriff in die Programmabläufe hat als das eine einfache Statemachine ermöglicht (z.B. zwei Aktionen vorgeben wie z.B. x ms Warten und dann erneut initialisieren)
Grüße,
ch