LabVIEWForum.de
Anzeigelement zur Laufzeit erzeugen? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Anzeigelement zur Laufzeit erzeugen? (/Thread-Anzeigelement-zur-Laufzeit-erzeugen)



Anzeigelement zur Laufzeit erzeugen? - andrepf - 21.10.2014 09:43

Hallo Zusammen,

ich habe in mehreren Foreneinträgen gelernt, dass es nicht möglich ist zur Laufzeit Anzeigelemente zu erzeugen, da der Datentyp des Clusters nicht programmatisch erzeugt werden kann und vor der editierung festgelegt werden muss.

Mich möchte per Drag&Drop (funktioniert von einem Listenfeld "Kanalname" in das andere Listenfeld "Kanalname2") vom Listenfeld "Kanalname" ein dazu passendes Anzeigeelement (je nach Datentyp AnalogIN/OUT, DigitalIN/OUT, ...) im Cluster "Anzeigebereich" durch hereinziehen der Listenzeile erstellen. Ich habe einen Screenshot anbei gehängt.

Gibt es irgendeine Möglichkeit diesen Weg zu gehen?

Vielen Dank schon einmal an das Forum, ich bin nämlich gerade am verzweifeln Undecided.

Gruß André


RE: Anzeigeelement zur Laufzeit erzeugen? - GerdW - 21.10.2014 09:55

Hallo Andre,

wenn "Anzeige" ein Cluster ist, dann kannst du diesen zur Laufzeit NICHT ändern. LabVIEW arbeitet streng typisiert, d.h. alle Datentypen müssen während des Editieren definiert werden - eben nicht erst zur Laufzeit…

Du kannst aber:
- genügend viele Anzeigeelemente als "Reserve" anlegen und bei Bedarf sichtbar machen! Man umgeht hier das "Erstellen" durch "in den Sichtbereich verschieben"!
- du kannst mit einem PictureIndicator arbeiten und deine Anzeigen selbst malen (wird schnell sehr viel Aufwand, kann aber mit OOP relativiert werden)

Edit: Thema verschoben, hatte wohl nichts mit "AppBuilder" zu tun!


RE: Anzeigeelement zur Laufzeit erzeugen? - andrepf - 21.10.2014 10:04

Hallo Gerd,

danke erstmal für die Antwort.
(21.10.2014 09:55 )GerdW schrieb:  - genügend viele Anzeigeelemente als "Reserve" anlegen und bei Bedarf sichtbar machen! Man umgeht hier das "Erstellen" durch "in den Sichtbereich verschieben"!
-> Wie würdest du am besten die Elemente sichtbar machen? Sprich mit Doppelklick auf die Zeile und dann einem Eigenschaftsknoten?

(21.10.2014 09:55 )GerdW schrieb:  - du kannst mit einem PictureIndicator arbeiten und deine Anzeigen selbst malen (wird schnell sehr viel Aufwand, kann aber mit OOP relativiert werden)
-> Damit bin ich noch nicht firm ...

Gruß André


RE: Anzeigelement zur Laufzeit erzeugen? - GerdW - 21.10.2014 10:07

Hallo André,

Zitat:Wie würdest du am besten die Elemente sichtbar machen? Sprich mit Doppelklick auf die Zeile und dann einem Eigenschaftsknoten?
Du musst sowieso Eigenschaftsknoten verwenden, um die Anzeige sichtbar zu machen und an den passenden Ort zu verschieben. Sinnvoll dürfte auch sein, die Caption/Untertitel mit dem passenden Namen aus deiner Liste zu belegen…

Wie du die Listboxen auswertest, bleibt dir überlassen!


RE: Anzeigelement zur Laufzeit erzeugen? - Morpheus - 21.10.2014 10:27

Wie von Gerd bereits erwähnt musst du genügend Anzeigeelemente erstellen.

Eine ähnliche Variante (mit Subpanels) wurde dieses Jahr an der NI Week gezeigt.
https://decibel.ni.com/content/docs/DOC-39022
Schau dir mal das Beispiel 7 an. Ist eine coole Lösung. Ev. in deinem Fall zu aufwändig... Big Grin

Gruss
Chris