Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Hallo liebe Leute,
ich habe mal wieder ein kleines Problem, wo ich einfach nicht weiterkomme.
Bitte betrachtet das Programmbeispiel im Anhang:
Hier habe ich drei Radio-Buttons, über die ich je nach Auswahl eine bestimmte Anzahl von Strings und Numeric-Feldern angezeigt bekomme.
(siehe "Solutions" und "Time/sec" im Programm).
Nun folgendes Problem:
Die Werte aus den Numeric-Feldern werden in einem weiteren SubVI benötigt. Daher soll der Anwender während des Programmlaufs etwas in die Numeric-Felder (Time/sec) eingeben können. Problem: Die Felder sind gesperrt!
Das liegt scheinbar daran, dass es sich um Indicator-Felder handelt. Aber kann ich diese Felder trotzdem bearbeiten/pflegen, während das Programm läuft? Oder muss ich anstatt ein Indicator-Feld etwas anderes verwenden?
Schonmal vielen Dank für Hinweise und Lösungsansätze!
(29.07.2013 17:13 )Orga schrieb: Nun folgendes Problem:
Die Werte aus den Numeric-Feldern werden in einem weiteren SubVI benötigt. Daher soll der Anwender während des Programmlaufs etwas in die Numeric-Felder (Time/sec) eingeben können. Problem: Die Felder sind gesperrt!
Logisch, es sind Indicators oder Anzeige-Felder.
(29.07.2013 17:13 )Orga schrieb: Das liegt scheinbar daran, dass es sich um Indicator-Felder handelt.
Richtig erkannt.
(29.07.2013 17:13 )Orga schrieb: Aber kann ich diese Felder trotzdem bearbeiten/pflegen, während das Programm läuft?
Nein, denn es sind ja Anzeigefelder. Da soll der Benutzer nichts einstellen!
(29.07.2013 17:13 )Orga schrieb: Oder muss ich anstatt ein Indicator-Feld etwas anderes verwenden?
Bei welchen LabVIEW-Elementen kann man etwas zur Laufzeit ändern? Richtig, Controls! Also Control verwenden. Zum Reinschreiben/Setzen gibt es lokale Variablen des Controls. Und wenn zu einem gewissen Zeitpunkt im Programmablauf der User nichts editieren soll, dann sperrt man das Control per PropertyNode "Disabled".
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Hey, danke für deine Antwort.
Das ist soweit alles verständlich.
Aber das hilft mir noch nicht. Vielleicht gibt es eine andere Lösung..
Je nach Auswahl der Radio Buttons sollen unterschiedlich viele Controls ("Time/sec") erstellt werden, die zur Anzahl der Strings (siehe "Solutions") passen, und da soll dann werte eingegeben werden können.
(29.07.2013 18:21 )Orga schrieb: Das ist ja ärgerlich... wie mache ich das denn dann, wenn der Benutzer eine Zeit einstellen soll, die dann im Programm weiterverarbeitet wird?
Da wirst du wohl Controls nehmen müssen. Sind diese Arrays, kanst du die sichtbare Arraylänge programmatisch setzen. Willst du deren Inhalte in anderen VIs verwenden ( zur Laufzeit), dann verwende Referenzen auf die Arrays oder übergib die Daten per Queues bzw. Melder.
Programmatisch kannst du in Controls über lok. Variablen oder Eigenschaftsknoten schreiben.
Ich hoffe, irgendwas davon hilft dir - sonst präzisiere mal bitte deine Frage.
(29.07.2013 19:01 )Trinitatis schrieb: Da wirst du wohl Controls nehmen müssen. Sind diese Arrays, kanst du die sichtbare Arraylänge programmatisch setzen.
...na Controls sind eben keine Anzeigeelemente sondern Bedienelemente.
Die Arraylänge kannst du über einen Eigenschaftsknoten des Arrays einstellen (rechte Maus auf Array (nicht auf Arrayinhalt!) --> erstelle Eigenschaftsknoten --> Zeilenanzahl