LabVIEWForum.de
Mit Booleschen Schalter zwischen Anzeige- und Bedienelement schalten - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Mit Booleschen Schalter zwischen Anzeige- und Bedienelement schalten (/Thread-Mit-Booleschen-Schalter-zwischen-Anzeige-und-Bedienelement-schalten)



Mit Booleschen Schalter zwischen Anzeige- und Bedienelement schalten - YYYs - 11.06.2011 23:58

Hallo,

ich habe ein Array aus Bedienelementen. Jetzt möchte ich per Booleschen Schalter den Typ der Arrayelemente ändern, also zwischen Bedien- und Anzeigeelement schalten.

Ich habe bei den Eigenschaftsknoten des Arrays geguckt, jedoch gab es nur die Eigenschaft "Anzeigeelement" und damit lies sich nur auslesen was für ein Typ es ist.

Für jeden Hinweis bin ich dankbar!

Schönes Pfingstrestwochenende!

Smile


RE: Mit Booleschen Schalter zwischen Anzeige- und Bedienelement schalten - jg - 12.06.2011 07:39

Das geht nicht! Zur Laufzeit kannst du einen Indicator nicht in ein Control ändern.

Außerdem ist ein Array ein "Kommunist", alle Element müssen gleiche Eigenschaften haben. Es kann nicht ein Element ein Bedien-, ein anderes ein Anzeigeelement sein.

Gruß, Jens

P.S.: Für eine einzelnes Control kannst du dein Verhalten "simulieren". Nimm ein Bedienelement, und ändere den Status per PropertyNode "Disabled".


RE: Mit Booleschen Schalter zwischen Anzeige- und Bedienelement schalten - BNT - 12.06.2011 09:49

Hi
Der vorherige Beitrag klärt den Sachverhalt eindeutig. Aber, es gibt einen Workaround.

Du erstellt das Array als Control, verdrahtest es aber nicht, sonder benutzt lokale Variablen oder Property-Nodes, um die Werte zu lesen oder zu schreiben. Das hat Konsequenzen in Bezug auf Race-Conditions und/oder Laufzeitperformance, die Du berücksichtigen musst. Um zwischen Anzeige- und Bedienelement umzuschalten kannst Du die Property-Node Disable benutzen. Wenn disabled aktiviert ist, kann man den Wert nicht ändern. Um die Anzeige zu ändern, könntest Du einen Cluster mit zwei Elementen benutzen, die immer den selben Wert haben sollen, und die Sichtbarkeit dieser Elemente mit der entsprechenden Property-Node ändern.

Wenn Du ein solchen Verhalten häufiger benötigst, lohnt sich vielleicht die Entwicklung einer XControl.

Aber dem vorheigen Beitrag folgend, rate ich von solchen Entwürfen dringend ab. Es gibt keine wirkliche Notwendigkeit dafür. Du solltest strikt zwischen Bedienen/Anzeigen, also GUI, und der eigentlichen Datenverarbeitung trennen und das LabVIEW eigene Datenflussprinzip beachten.

Im GUI solltest Du also ein Element zur Eingabe und ein anderes zur Anzeige verwenden. Unter Umständen kannst Du diese Element übereinander legen und nur jeweils eine sichtbar machen.

Gruß Holger


RE: Mit Booleschen Schalter zwischen Anzeige- und Bedienelement schalten - YYYs - 12.06.2011 09:56

Danke für die Antworten. Ich habe das jetzt so geregelt, dass per Schalter jeweils nur eines der Arrays angezeigt wird und die übereinander gelegt habe auf dem Frontpanel. Also was BNT auch vorgeschlagen hatte.