![]() |
2 Schleifen nach Bestätigung über Eventcase beenden - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: 2 Schleifen nach Bestätigung über Eventcase beenden (/Thread-2-Schleifen-nach-Bestaetigung-ueber-Eventcase-beenden) |
2 Schleifen nach Bestätigung über Eventcase beenden - GT123 - 04.08.2010 14:17 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 ![]() 2 Schleifen nach Bestätigung über Eventcase beenden - GT123 - 04.08.2010 14:38 Habe es mit einem User Event geschafft, gibt es noch eine elegantere oder besser gesagt einfachere Methode? 2 Schleifen nach Bestätigung über Eventcase beenden - abrissbirne - 04.08.2010 14:38 Machs am Besten über Queues oder Notifications. Du brauchst auch nur ein Eventcase. Siehe auch Producer-Consuer Eventbasiert. 2 Schleifen nach Bestätigung über Eventcase beenden - GT123 - 04.08.2010 14:48 ' 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... ![]() 2 Schleifen nach Bestätigung über Eventcase beenden - abrissbirne - 04.08.2010 15:13 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. 2 Schleifen nach Bestätigung über Eventcase beenden - GT123 - 04.08.2010 15:16 ' 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. 2 Schleifen nach Bestätigung über Eventcase beenden - abrissbirne - 04.08.2010 15:23 ' 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). 2 Schleifen nach Bestätigung über Eventcase beenden - chrissyPu - 04.08.2010 15:26 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 |