LabVIEWForum.de
Cluster Referenz Wertänderung - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Cluster Referenz Wertänderung (/Thread-Cluster-Referenz-Wertaenderung)



Cluster Referenz Wertänderung - curby23523 - 27.11.2012 10:31

Hallo,

eine Referenz auf ein Cluster ist ja im Grund nichts wie ein Pointer?
Ich habe nun ein SubVi, waelches über die Referenz dieses Clusters Werte darin ändern soll. Wenn ich jetzt allerdings in diesem SubVi den Eigenschaftsknoten Wert aufrufe, erzeugt dieser mir eine Kopie des Clusters. Hier kann ich nun Elemente ändern und anschließend in die Referenz zurückschreiben.

Das funktioniert natürlich ist aber insofern ein Problem, als dass dieses SubVi mit Messgeräten kommuniziert und etwas zeitintensiv ist. Das heißt, wenn ich nun einen Bedienparameter änder, wärhend dieses SubVi läuft, wird dieses das Original Cluster nacher wieder überschreiben und die Änderung des Bedienelementes wieder rückgängig machen - weil es ja noch eine Kopie vom alten Cluster hatte.

Besteht eine Möglichkeit, dass ich quasi direkt im Cluster, auf welches die Referenz zeigt, einfach mehrere Parameter (idr Anzeigeelemente) ändern kann? Ich hab schon einen Weg gefunden, dieser ist jedoch sehr umständlich, eben die Referenz in Elemente aufbröseln, dann hat man Elementreferenzen und hier dann für jeder wieder einen Eigenschaftsknoten erzeugen usw. Ist aber bei ca. 10 zu bearbeitenden Elementen sehr umständlich und unübersichtlich.

mfg
Nils


RE: Cluster Referenz Wertänderung - GerdW - 27.11.2012 10:59

Hallo Nils,

willkommen in der Welt der RaceConditions. Diese Probleme hast du immer, wenn du parallel von verschiedenen instanzen auf die gleichen Werte (schreibend) zugreifen willst...

Es sei denn, du schaust dir das Konzept der FGVs (oder auch AEs, oder auch LV2-Style Globals) an. Diese bieten eine einfache Möglichkeit, dieses Problem zum verhindern!
Ich halte es auch nicht unbedingt für empfehlenswert, ein FP-Control als Datenspeicher zu missbrauchen und von verschiedensten Instanzen per Referenz darauf zuzugreifen. Ein FP-Control ist eine Datenquelle, ein Indicator eine Datensenke - beide sind keine Datenspeicher (zumindest nicht als solche angelegt)!