LabVIEWForum.de
Event Handling vorzeitig beenden - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Event Handling vorzeitig beenden (/Thread-Event-Handling-vorzeitig-beenden)



Event Handling vorzeitig beenden - Oleg - 06.05.2010 09:34

Hallo Leute,

Gibt es die Möglichkeit ein EventCase vorzeitig zu beenden? In meinem Fall: Wenn der Benutzer einen neuen User
anlegen will, druckt er das Button 'NEW', dann erscheint ein Formular.(sieht Screenshot). Ich will jetzt ein Button 'BACK' einbauen
so dass der Benutzer alles rückgängig machen kann ohne einen neuen User anzulegen. So wäre es sinnvol die Sequenz in
EventHandler abzubrechen. Dazu will ich gerne ein 'CANCEL' button haben um das ganze VI zu stoppen, Hier ist es auch nötig
das Event zu stoppen, falls irgendein auftritt.
Danke!

Gruß
Oleg


Event Handling vorzeitig beenden - dimitri84 - 06.05.2010 09:47

Deine Sequenz einfach durch eine State-Machine ersetzen. Je nach dem ob "BACK" oder "Enter" gehts weiter im Code oder nicht.

' schrieb:Dazu will ich gerne ein 'CANCEL' button haben um das ganze VI zu stoppen, Hier ist es auch nötig
das Event zu stoppen, falls irgendein auftritt.
Wie stoppst du denn jetzt und was gefällt dir da nicht dran?

Mitten drin lässt sich immer schlecht was stoppen. Du musst deinen Code stückeln und am Ende jedes Teilstücks überprüfen ob abgebrochen wurde.


Event Handling vorzeitig beenden - Oleg - 06.05.2010 10:08

' schrieb:Deine Sequenz einfach...

Ich habe das Stoppen des VI`s noch nicht implementiert. Es gibt zwar ein Button 'Send' das das formualr in die
Datenbank schiken wird. Dazu will ich 'Cancel' Button einbauen. 'BACK' würde nur das Anlegen einen neuen User (es gibt
auch andere Felder) abbrechen. Die Statemachine ist für mich was neues, obwohl schon was davon gehört. Ich versuche
einen Beispiel hier zu finden.


Event Handling vorzeitig beenden - dimitri84 - 06.05.2010 10:12

Ja genau, schau mal nach State Machine. In Zukunft am besten keine Sequenzen mehr verwenden; die sind so stur.

Noch ein Tip: Ich würde nicht mit der Node "visible" arbeiten, sondern mit der "Deaktiviert" Node. Mit der Einstellung "2" ist das Control dann auch ausgegraut. Ist üblicher.


Event Handling vorzeitig beenden - GerdW - 06.05.2010 10:16

Hallo Oleg,

eine "Empfehlung" im Umgang mit Event-Strukturen:
Die Abarbeitung eines Events sollte schnell erfolgen, da sonst andere Events in einer (internen) Queue gesammelt und erst später abgearbeitet werden.

Von daher:
In der Event-Struktur das Event registrieren und in einer (parallelen) Statemachine abarbeiten...

Noch was:
Warum verwendest du überhaupt eine Sequenz? Man könnte das ganze genauso gut mit dem ErrorCluster koordinieren... (Nicht das dir im konkreten Fall damit geholfen wäreSmile)


Event Handling vorzeitig beenden - Oleg - 06.05.2010 10:30

@ Dimitri: danke für den Tipp, ich tausche die 'Visible' nodes zu 'Deaktiviert'. Wenn du einen einfachen Beispiel zu State machine hast,
könntest du bitte es hier hochladen? Aber bitte keinen verweis auf LV Help.
@ GerdW: Error Cluster statt Sequenz das ist was neues für mich. Vielleicht weill ich nicht so viel Erfahrung habe ? Kannst du bitte
erklärene wie es geht? Und bitte ein einfaches Bespiel zur Eventregestrierung. Die Events sind immer noch was unklares für mich.


Event Handling vorzeitig beenden - dimitri84 - 06.05.2010 10:44

' schrieb:@ Dimitri: danke für den Tipp, ich tausche die 'Visible' nodes zu 'Deaktiviert'. Wenn du einen einfachen Beispiel zu State machine hast,
könntest du bitte es hier hochladen? Aber bitte keinen verweis auf LV Help.
Hier ein Beispiel.
http://www.LabVIEWforum.de/index.php?s=&am...ost&p=90911

Im Grunde ist deine While-Schleife mit der Eventstruktur schon eine State-Machine und es bedarf keiner zusätzlichen.


Event Handling vorzeitig beenden - Oleg - 06.05.2010 12:21

' schrieb:Hier ein Beispiel...

Super! Dein Beispiel hat mir sehr geholfen. Ich habe Sequenz Struktur durch eine StateMachine ersetzt.
So konnte ich leicht den Ablauf der Schritten sehr einfach verwalten. Außerdem, habe ich das Konzept
von Statemachine endlich verstanden, das ist sehr starkes Werkzeug.

Hopper