LabVIEWForum.de
Typedef und Referenz desselben typedefs - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenkommunikation (/Forum-Datenkommunikation)
+---- Thema: Typedef und Referenz desselben typedefs (/Thread-Typedef-und-Referenz-desselben-typedefs)



Typedef und Referenz desselben typedefs - spawn - 20.03.2016 20:55

Servus,
ich habe folgende Frage: Ich habe ein Cluster, welches ich in mehreren (sub-)vi's verwende. Da sich noch weitere Änderungen ergeben können, habe ich sinnvollerweise eine Typendefinition dieses Clusters erstellt. In manchen vi's wird dieses Cluster allerdings als Referenz übergeben. Die Referenz des Clusters ändert sich aber nur, wenn diese mit einer entsprechenden „Control“ verbunden ist – im Falle der Referenzübergabe an ein subvi ist aber die Referenz die „Control“. Ich habe nun zwar auch eine Typendefintion der Referenz dieses Clusters erstellt, dummerweise muss ich aber nun, wenn sich Änderungen ergeben, diese sowohl in der Typendefintion des Clusters, als auch in der der Referenz einfügen. Klar, kein großer Aufwand, aber muss das wirklich sein? In z.B. C muss ich nur mein struct „test“ ändern und schon habe ich die normale Variable sowie alle pointer mit geändert:
test variable;
test * pVariable;

Danke im Voraus für eure Hilfe,

spawn


RE: Typedef und Referenz desselben typedefs - GerdW - 21.03.2016 09:23

Hallo spawn,

hast du das Referenzcontrol "strictly typed" gemacht?


RE: Typedef und Referenz desselben typedefs - spawn - 21.03.2016 12:58

Hallo GerdW,
danke für deine schnelle Antwort. Die Referenz-Typedef-Control war nicht strictly typed, allerdings habe ich wohl zuvor irgendeinen Fehler gemacht (die Referenz-Ctl erstellt und danach das Cluster als typedef gespeichert?). Wenn ich zuerst mein Cluster als Typ definiere, dann eine Referenz auf dieses Cluster erstelle, anhand dieser Referenz wiederum eine Ctl erstelle und diese ebenfalls als Typ definiere geht es sowohl als strict typedef als auch als "normales" typedef – wenn ich nun im originalen Clustertypedef etwas ändere wird dies auch im Referenztypedef sichtbar.
Jetzt habe ich nur noch ein Problem(chen):
Im Caller-vi erstelle ich eine Referenz auf meine Cluster-typedef-ctl. (Rechtsclick → create → Reference) und verbinde sie mit der Reference-typedef-ctl eines subvi's – ein roter Punkt erscheint, es muss also konvertiert werden. Wie werde ich die „Coercion Dots“ an dieser Stelle los?