LabVIEWForum.de
SubVI-Eigenschaften über Referenz aus HauptVI heraus beeinflussen (als Exe) - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: SubVI-Eigenschaften über Referenz aus HauptVI heraus beeinflussen (als Exe) (/Thread-SubVI-Eigenschaften-ueber-Referenz-aus-HauptVI-heraus-beeinflussen-als-Exe)



SubVI-Eigenschaften über Referenz aus HauptVI heraus beeinflussen (als Exe) - dereinzug - 28.08.2012 13:26

Hallo,

um in SubVIs ebenfalls die Untertitel von Elementen beeinflussen zu können, habe ich mir ein entsprechendes VI gebaut.
Damit ist es möglich die Titel von SubVIs vom HauptVI aus zu beeinflussen. Jedenfalls in der Programmierumgebung tut es das.
Bei Verwendung der zugehörigen Exe werden die Untertitel nicht beeinflusst.
Ich vermute, es liegt in der Art, wie ich die Referenzen zu den jeweiligen SubVIs erstelle.

Dummerweise weiß ich aber nicht, wie ich diese so erstellen kann, so dass es auch bei einer erstellten Exe funktioniert.

Den Programmteil mit der Erstellung der Referenzen habe ich mal angehängt.

ciao Tom

P.S. LV 2010 Sp1


RE: SubVI-Eigenschaften über Referenz aus HauptVI heraus beeinflussen (als Exe) - GerdW - 28.08.2012 13:48

Hallo einzug,

hast du dir schon mal die Fehlermeldungen beim Öffnen der subVI-Referenzen ausgeben lassen? Vielleicht stimmt ja einfach der Pfad nicht...

Außerdem bezweifle ich, dass ListFolder innerhalb von Executables ordentlich arbeiten wird. Im Zweifelsfall bekommst du nur ein leeres Array zurück - aber sowas könnte man ja durch fehlerbehandlung abfangen Wink


RE: SubVI-Eigenschaften über Referenz aus HauptVI heraus beeinflussen (als Exe) - Falk - 28.08.2012 14:01

So wie ich seinen Code verstehe will er aus dem Executable heraus dynamisch weitere VIs laden und nicht "VIs" die im Executable enthalten sind. Gerd oder was meinst du konkret mit:

(28.08.2012 13:48 )GerdW schrieb:  Außerdem bezweifle ich, dass ListFolder innerhalb von Executables ordentlich arbeiten wird.

Schöne Grüße
Falk


RE: SubVI-Eigenschaften über Referenz aus HauptVI heraus beeinflussen (als Exe) - dereinzug - 28.08.2012 14:08

@GerdW
Direkt mit der Nase drauf gestoßen ist es mir nun völlig klar, das die Listfolder-Funktion in der kompilierten Exe nicht funktionieren kann.
So ist es auch tatsächlich so, dass das Array leer ist und ein Fehler ausgegeben wird.
Die Frage ist nun, wie komme ich an Referenzen von SubVIs ran, die Teil der Exe sind?

Sofern das funktioniert, kann ich die dort enthaltenen Frontpanelelemente nämlich auf die gleiche Art behandeln, wie ich sie im HauptVI bearbeite.
Geht das nicht, muss ich in jedes SubVI entsprechende Eigenschaftsknoten einbauen.

@Falk
Deine Frage sollte mit diesem Post hoffentlich auch beantwortet sein.


RE: SubVI-Eigenschaften über Referenz aus HauptVI heraus beeinflussen (als Exe) - Falk - 28.08.2012 14:44

Eine eventuelle Möglichkeit: Erstelle ein Eigenschaftsknoten der auf die Applikation gelinkt ist. Dann die Eigenschaft "alle VIs im Speicher" auswählen. Klappt halt nur wenn die VIs bereits in den Speicher geladen worden sind.
Alternative: Werfe alle deinen Dialog-VIs ein ein VI, welches du nur als Container benutzt. Über die statische VI-Referenz dieses Containers-VIs kann du mittels Methodenknoten alle Abhängigkeiten (darunter eben auch die enthaltenen VIs) abfragen. Vorteil dieser Variante. Dadurch dass du die statische VI-Referenz ja irgendwo in deinem "Haupt-VI" eingebettet hast und in dem Container zusätzlich ja alle anderen VIs liegen, werden diese beim Bauen des Executables immer automatisch mit hinein kompiliert. So spart man sich den Aufwand in den Build-Eigenschaften alle VIs händisch zusammen zu suchen. Außerdem brauchst du dann nicht mehr mit Pfaden herumbasteln, sondern kannst den VI-Namen direkt für das "VI-Referenz" öffnen verwenden.

Schöne Grüße
Falk


RE: SubVI-Eigenschaften über Referenz aus HauptVI heraus beeinflussen (als Exe) - dereinzug - 28.08.2012 16:04

@Falk
Schon mal Danke soweit!
Variante01 mit der Applikationsreferenz hat nun soweit funktioniert, als das ich nun ein String-Array aller meiner Dialog-VIs habe.
Dummerweise stecke ich nun dabei fest, daraus funktionierende Referenzen zu bauen.

Ich bin nun einfach hergegangen und führe in dem Fall der erstellten Exe nicht mehr die Liste der VI-Namen aus der Listfolder-Funktion zu,
sondern das Stringarray der im Speicher befindlichen VIs.

Edit
Es ist noch ein kleiner Bug bei der Zerlegung und Erstellung der Pfade drin gewesen. Jetzt gehts.

Danke für Deine Hilfe!

@auch an alle anderen Beteiligten
Danke für Eure Tipps

ciao Tom


RE: SubVI-Eigenschaften über Referenz aus HauptVI heraus beeinflussen (als Exe) - Falk - 28.08.2012 16:55

Vielleicht noch ein kleiner Hinweis. Du brauchst nicht mit den Pfaden herum basteln. Da die VIs bereits im Speicher sind nimm einfach die aus der Property-Node kommenden VI-Namen und verdrahte sie an das VI "Vi Referenz öffnen". Letzteres ist ein polymorphes VI und passt sich dem verdrahten Typ an.

Schöne Grüße
Falk