LabVIEWForum.de
Objecte eines Clusters ansprechen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Objecte eines Clusters ansprechen (/Thread-Objecte-eines-Clusters-ansprechen)



Objecte eines Clusters ansprechen - SteffenSI - 22.05.2009 14:49

Hallo,

ich habe eine Referenz auf ein Cluster. Dieses Cluster beinhaltet weitere Objekte, die ich gerne ansprechen moechte (ich wuerde bei einigen gerne waehrend der Laufzeit die Eigenschaft "visible" auf false setzen).
Wie spreche ich nun mit dieser referenz die einzelnen Clusterelemente an? mit AllObjects[] oder Controls[] was mir die property node anbietet?

Gruss Steffen


Objecte eines Clusters ansprechen - TSC - 22.05.2009 14:51

soweit ich weiß, kann man innerhalb eines clusters nicht einzelne elemente auf visible setzen. wenn, dann alle.

LG
Torsten


Objecte eines Clusters ansprechen - jg - 22.05.2009 15:15

Da muss ich Torsten widersprechen! Das geht schon! (@Torsten: Das verwechselt du jetzt mit Arrays).

@Steffen:
Du hast verschiedene Optionen:
1. Mit Rechtsklick im FP auf ein Element des Clusters eine PropertyNode oder eine Referenz zu diesem Cluster-Element erzeugen.
2. Wenn du das ganze über die angesprochenen Arrays machen willst, auch kein Problem.
Das Array Controls[] enthält alle Referenzen zu allen Control-Elementen des Clusters, in der Reihenfolge, wie sie innerhalb des Clusters definiert sind.
Das Array AllObjects[] enthält die Referenzen zu allen Deko-Elementen und allen Controls.
Das Array Decorations[] enthält die Referenzen zu allen Deko-Elementen.
Einfach dann das richtige Element per Index Array auswählen und die PropertyNode Visible anschließen. Nachdem diese für alle FP-Elemente definiert ist, funktioniert dies ohne Probleme.

Gruß, Jens


Objecte eines Clusters ansprechen - TSC - 22.05.2009 21:49

da hat Y-P wohl recht.

Allerdings hatte ich gerade bei einem kleinen Test Probleme, die Eigenschaft Visible zu setzen. Für ein GObject ist sie nicht verfügbar.

LG
Torsten


Objecte eines Clusters ansprechen - jg - 22.05.2009 22:44

' schrieb:da hat Y-P wohl recht.
Jetzt habe ich mich extra daran gewöhnt, Torsten ohne H zu schreiben, und werde dafür mit Markus verwechselt WackoWink
' schrieb:Allerdings hatte ich gerade bei einem kleinen Test Probleme, die Eigenschaft Visible zu setzen. Für ein GObject ist sie nicht verfügbar.
Ah ja, da hast du jetzt Recht. Mal schauen, die Mutterklasse von Decorations und Controls (=GObject) enthält tatsächlich Elemente, für die es nicht sinnvoll ist, dass die Eigenschaft "visible" existiert:
[attachment=18611]
Somit wären bei der PropertyNode "All Objects[]" ein paar Klimmzüge nötig. Da ein Element wie "Pane" nicht Teil eines Clusters sein wird, müsste man dann entsprechend der ClassID die PropertyNode noch zur exakten Klasse "typecasten". Geht, wenn es auch wahrscheinlich für diesen Fall viel zu umständlich ist. Dann fährt man wohl besser, indem man die PropertyNode Controls[] UND Decorations[] nimmt.

Übrigens, gehen tut es im Prinzip so:
[attachment=18612]
Anzupassen sind noch die ClassIDs in der Case-Struktur...

Gruß, Jens


Objecte eines Clusters ansprechen - TSC - 23.05.2009 09:14

ups. ehm, es wird zeit dass wir uns mal kennenlernen. wenn ich eure gesichter parat habe, klappt das auch mit den namen. versprochen.

:-)

LG
Torsten