Lokale Variablen -> Referenzen nach Erstellung eines SubVIs
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!
Lokale Variablen -> Referenzen nach Erstellung eines SubVIs
Hi,
ich hab mal ne grundlegende Frage zu SubVIs. Immer wenn ich ein VI erstellt habe, welches lokale Variablen beinhaltet, und ich daraus ein SubVI erstelle, dann kreiert LV automatisch Property Nodes mit dazugehörigen Referenzen zu den lok. Variablen. Warum ist das so und wie kann ich das unterbinden?
Danke im voraus.
Gruß, NafeZ
28.08.2009, 12:00 (Dieser Beitrag wurde zuletzt bearbeitet: 28.08.2009 12:04 von Y-P.)
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Lokale Variablen -> Referenzen nach Erstellung eines SubVIs
Das kannst Du gar nicht unterbinden. Wenn Du lokale Variablen in einem SubVI hast, dann beziehen die sich immer auf ein Frontpanelement des MainVI's, es sei denn das entsprechende Control liegt ebenfalls in dem SubVI.
Durch die Property-Nodes werden die Referenzen an das SubVI übergeben.
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Lokale Variablen -> Referenzen nach Erstellung eines SubVIs
Wenn ich die Refernzen im SubVI dann aber lösche funktionierts doch trotzdem. Ich muss dann aber keine Referenzen mehr übergeben. Enstehen durch das Löschen der Referenzen irgendwelche Nachteile?
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Lokale Variablen -> Referenzen nach Erstellung eines SubVIs
Kommt drauf an, was Du im SubVI machen möchtest. Möchtest Du z.B. mit einem Stop Button auf dem Frontpanel eine Schleife im SubVI beenden, dann wäre es schlecht, wenn Du keine Referenz hättest, weil Du die Schleife dann nie beenden könntest.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Lokale Variablen -> Referenzen nach Erstellung eines SubVIs
Blöd ist es immer dann, wenn sowohl das Control als auch die zugehörige lokale Var ins Sub soll, denn erstellt LV im aufrufenden VI eine Kopie des Control und schleift die Referenz darauf ins automatisch erstellte Sub. Die Variable geht dabei allerdings verloren. Es bleibt nur, den Propetynode im Sub durch eine lokale Var zu ersetzen. Wohl ein dezenter Hinweis seitens LV, auf lokale Variablen zu verzichten
Lokale Variablen -> Referenzen nach Erstellung eines SubVIs
Deine Schilderung triffts genau! Ich habe die Referenzen dann, nach der Erstellung der SubVIs, dann immer wieder durch lok. Vars ersetzt (wie vorher). Aber ich dachte lok. Vars sind anerkannt und globale Variablen verpöhnt?!
Anzeige
28.08.2009, 15:59 (Dieser Beitrag wurde zuletzt bearbeitet: 28.08.2009 16:03 von schrotti.)
Lokale Variablen -> Referenzen nach Erstellung eines SubVIs
' schrieb:Aber ich dachte lok. Vars sind anerkannt und globale Variablen verpöhnt?!
Da gibts verschiedene Strömungen innerhalb der LV-Community . Selber vermeide ich beides, verwende lokale eigentlich nie, globale ab und an.
Wobei das Verhalten von LV durchaus nachzuvollziehen ist, denn LV geht davon aus, das du einen Eingang und einen Ausgang im SubVI hast. Wenn du es verdrahtest werden ja auch die Controlls kopiert und der Code verschoben.
Lokale Variablen -> Referenzen nach Erstellung eines SubVIs
' schrieb:Na ihr seids lustig.
Na klar sind wir das!
Ich bin immer vorsichtig gegenüber einem Anfänger, Empfehlungen zu lokalen oder globalen Variablen auszusprechen.
Meide Devise lautet: "Wenn Du einen Wire ziehen kannst, dann tu das."
In meinen Programmen kann es schon mal vorkommen, daß ich lokale Variablen verwende. Aber äußerst spärlich, weil sie für mich nicht so recht ins Datenflußprinzip passen. Globale Variablen habe ich bisher noch nicht produktiv gebraucht. Dann schon eher FGV's aber das sind letztlich SubVI's.