LabVIEWForum.de
Sub Vi in EXE einbinden - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Application Builder (/Forum-Application-Builder)
+---- Thema: Sub Vi in EXE einbinden (/Thread-Sub-Vi-in-EXE-einbinden)

Seiten: 1 2


RE: Sub Vi in EXE einbinden - LazyBoNe - 14.06.2013 08:50

Ich habe die Lösung gefunden! Iwill
Error 7 in LV2009 running old VI's

Dieser Artikel sagt, NI kreierte eine schöne Construction. Builds aus den Versionen 8.x und früher erwarten in der EXE einen anderen Pfad zum dynamisch aufgerufenen VI als solche mit version 2009 und höher. Damit man keine Änderungen an den VI vornehmen muss, kann man den Knopf "use labview 8.x layout" im build unter advanced aktivieren. So funktioniert Herberts build dann auch bei mir in einem anderen Ordner.

Was nun für neue Projekt der LV Version 2009 und höher gilt bzgl. dynamisch aufgerufenen VI's:

Wenn das Programm im development modus gestartet wird, wollen dynamisch Aufgerufene VI's durch den realen Pfad auf der Harddisk aufgerufen werden. Ist ja eigentlich ganz logisch. Beispiel:
C:\Users\IRPT-Workstation01\Desktop\ProgressBar\Sub VIs\ProgressBar.vi
(main VI im Ordner C:\Users\IRPT-Workstation01\Desktop\ProgressBar\)

Wenn das VI als EXE gestartet wird wollen dynamisch aufgerufene VI's z.B. durch folgenden Pfad aufgerufen werden:
C:\Ordner1\Ordner2\Application.exe\Sub VIs\ProgressBar.vi
WENN
C:\Ordner1\Ordner2\
der Pfad ist, wo sich die EXE real auf dem Rechner befindet, hier Application.exe (Application directory Baustein verwenden)
UND
Sub VI\ProgressBar.vi
der Pfad ist, wo sich das dynamisch aufgerufene VI relativ zum main VI befunden hatte im development modus!


Dabei ist zu beachten, dass die dynamisch aufgerufenen VI in der build specifications datei unter Source Files in "always included" aufgenommen werden! Somit werden die Sub VI z.B. unter dem virtuellen Pfad C:\Ordner1\Ordner2\Application.exe\Sub VIs\ProgressBar.vi in die EXE eingebunden.

Ich hoffe ich konnte damit einigen LabVIEWERN viel Ahrg1 ersparen.

Nun kann ich auch wider ruhig schlafen.

Gruss
Matthias


RE: Sub Vi in EXE einbinden - Holy - 14.06.2013 18:27

Du kannst von VIs auch die Blockdiagramme entfernen und somit den Quellcode nicht weiter geben sondern nur das Kompilat. Dynamische Aufrufe werden sehr oft in VIs außerhalb der EXE gemacht. Insbesondere für Plugin-Anwendungen äußerst interessant da die Anwendung bei geänderten/neuen Plugins nicht verteilt werden muss sondern nur die Plugins selber. Gibt dann an der Stelle für diese Anwendungsfälle noch ne ganze Menge mehr Vorteile.

Dein Änderungsvorschlag ist somit eher nur für deine Wünsche sinnvoll weil das Beispiel zielte genau auf den dynamischen Aufruf von VIs neben der Anwendung ab!