LabVIEWForum.de
Event von Ereignisschleife im Programm auslösen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Event von Ereignisschleife im Programm auslösen (/Thread-Event-von-Ereignisschleife-im-Programm-ausloesen)



Event von Ereignisschleife im Programm auslösen - Kästle - 12.06.2013 16:20

Hallo zusammen,

ich arbeite an der Erweiterung eine Programmes. Es besteht eine Ereignisschleife, die ich mit weiteren Funktionen versehen habe.

Der Anwender soll beim Buttonklick "Lock/Unlock" eine Palette an Registersettings bearbeiten können. Dies ist in der Ereignisschleife über Value-Change des Buttons ausgeführt.
Zu Beginn sollen aber alle Register ausgraut sein, das heißt, dass das Event einmal ausgeführt werden soll ohne eine Eingabe durch den Anwender. Der Case soll also von innerhalb des Progammes aufgerufen werden.

Mir ist bewusst, das ich alles einfach vor die while-Schleife kopieren kann, aber das würde das Programm unnötig verkomplizieren und größer machen.

Im Beispielcode habe ich versucht durch eine Änderung des Wertes den entsprechenden Case auszulösen, was allerdings nicht funktioniert.

Die Vorgehensweiße bei diesem einfachen Beispiel benötige ich noch für mehrere Funktionen. Wenn es hierfür eine elegante Lösung gibt, wäre das super!
Wenn noch etwas unklar ist versuche ich gerne das noch ein bisschen besser zu erklären.
Vielen Dank bereits jetzt für eure Antworten =)=)


LG
Kästle

(06.03.2013 13:08 )GerdW schrieb:  Hallo Gu,

Zitat:Direkt beim ersten durchlauf der Schleife wird das Ereigniss "Panel schließen" aufgelöst. Die Daten vom OPC Server haben sich natürlich nicht geändert, mit der Highlight-Funktion sieht man das das erste FalseSignal welches von der Schleife ausgelöst wird direkt den Case auslöst ohne eine Wertänderung, das selbe passiert wenn von Hause aus True vom OPC Server ausgegeben wird.
Ja, die Wunder der Eventstruktur in Verbindung mit der "Value signalling"-Property...
Wenn du in diese Propertynode schreibst, löst dies unabhängig (!) vom geschriebenen Wert ein ValueChange-Event aus. (Steht sicherlich auch in der Kontexthilfe.)
Wenn du nur bei einem TRUE das Panel schließen willst, solltest du vielleicht noch eine Case-Struktur an richtiger Stelle verwenden!


http://www.labviewforum.de/Thread-Ereignisstruktur-ausloesen-durch-Wertaenderung-True-false-von-Datasocket

Big Grin Bei der Foren-Suche habe ich nichts passendes gefunden, aber bei den möglicherweise verwandten Themen war was passendes dabei..

mit der Property-Node "Value signalling" funktioniert es so, wie ich es mir gedacht habe!

Wenn es eine weitere Möglichkeit gibt aus dem Programm heraus ein Case auszuführen wäre das auch gut zu wissen.. Danke

lg


RE: Event von Ereignisschleife im Programm auslösen - Lucki - 12.06.2013 17:29

Dafür gibt es die Eigenschaft "Wert, signalisierend" (damit wird das Ereignis immer ausgelöst, auch dann, wenn sich der Wert nicht ändert. Man kann also z.B eine Lokale Variable desselben Elemenes zum Beschreiben verwenden)
[attachment=44985]