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!
ich habe ein SubVI erstellt, das als Eingang u.a. die Referenz auf ein Registerkartenelement hat.
In einem Projekt funktioniert das (aus dem ich diese Bedienelement erstellt habe), in jedem anderen gibt's einen Klassenkonflikt.
das habe ich auch zuerst überlegt, nur dachte ich mir, der Datentyp sei "Referenz auf Registerkarte".
Dann ist dem wohl nicht so, danke.
Es gibt zwar nun diesen roten Konvertierungspunkt, doch as ist nicht so schlimm, denn es funktioniert.
Bei mir gibt es keinen Konvertierungpunkt, ich habe Dein VI so "repariert":
Das Referenzelement "Registerkarte" im Sub-VI löschen
Die Referenzkonstante "Registerkarte" in MainVI mit der Maus packen und auf das FP des SubVI kopieren.
Das entstehende Referenzelement entprechend verdrahten, es ersetzt das alte.
Altes und neues Referenzelement sehen absolut gleich aus, nur einmal funktionierts und einmal nicht. Ich blicke da auch nicht immer richtig durch. Schief geht es oft wenn man auf eigene Faust Referenzen aus dem Nichts heraus neu erstellt. Wenn man sie aber durch Kopieren von dem, was man später sowieso verdrahten will, erzeugt, liegt man immer auf der sicheren Seite.
' schrieb:das habe ich auch zuerst überlegt, nur dachte ich mir, der Datentyp sei "Referenz auf Registerkarte".
Das Problem dabei ist, dass die Instanz der Registerkarte einen eigenen Typ hat. Der ist zwar von "Registerkarte" vererbt, aber eben ein eigener. Referenzen sind nun aber Instanz-bezogen, nicht Typ-bezogen.
Bedenke, dass jede Registerkarte anders aussieht: Anzahl Reiter und (schlimmer) Namen der Reiter !
Man könnte jetzt eine (stricte) Typdef von der Registerkarte und eine (stricte) Typdef von der Referenz auf diese Registerkarte machen und genau diese Elemente in MainVI und SubVI verwenden. Dann spart man sich bei vielen SubVIs das Anpassen der Referenzen gemäß Lucki
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
28.07.2010, 11:51 (Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2010 11:52 von jg.)
' schrieb:Man könnte jetzt eine (stricte) Typdef von der Registerkarte und eine (stricte) Typdef von der Referenz auf diese Registerkarte machen und genau diese Elemente in MainVI und SubVI verwenden. Dann spart man sich bei vielen SubVIs das Anpassen der Referenzen gemäß Lucki
:hmm:Aber dann ist doch das SubVI nicht für beliebige TabControls einsetzbar. Und das ist schließlich das Ziel von dieser ganzen Referenzziererei.
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!
' schrieb:Die Referenzkonstante "Registerkarte" in MainVI mit der Maus packen und auf das FP des SubVI kopieren.
Egal was ich wo wie kopiere, den Punkt habe ich immer.
' schrieb::hmm:Aber dann ist doch das SubVI nicht für beliebige TabControls einsetzbar. Und das ist schließlich das Ziel von dieser ganzen Referenzziererei.
Genau. Ich deaktiviere mit diesem SubVI die Reiter, die man z.B. während einer Mesung nicht bedienen darf. Das SubVI sollte allgemein sein, sodass ich es überall verwenden kann. Sonst bringt mir das keine Erleichterung.
Es funktioniert auch, aber eben mit dem Konvertierungspunkt.
wenn ich dein "SetTabEnabled.vi" nehme, die Datentypeinbindung entferne (Haken weg), erhalte ich in einem neuen Projekt weiterhin den Konvertierungspunkt.
Edit @Jens: Mich stört er auch nicht sonderlich. Nur denke ich bei den Punkten jedesmal "Huch, da passt was nicht ganz".