' schrieb:Wie in meinem ersten Screenshot zu sehen ist, rufe ich ein VI so auf, indem ich einen Plugin-Namen aus der Datenbank hole und den Pfad für das entsprechende Plugin zusammensetze. Der Aufruf funktioniert in der Entwicklungsumgebung natürlich, weil es diesen Pfad gibt. In meiner EXE gibt es aber diesen "Plugin"-Ordner nicht, aber der Aufruf funktioniert trotzdem.
Meine Frage nun:
Wo hinterlegt LabVIEW die Information zu meinem dynamisch aufgerufenen VI?
Das verstehe ich jetzt auch nicht ganz, den Ordner "Plugin" gibt es schon irgendwo auf der Festplatte, oder?
Das ist ja auch der Sinn eines "Plugin", in einer EXE zusätzliche Funktionen via eines VI's das irgendwo auf der Festplatte liegt, deshalb braucht es ja auch einen Pfad. Dann kommt noch hinzu, ob du in der INI zur EXE noch den Suchpfad drinn hast, sollte eigentlich nicht sein.
Und was dein "currentDirectory.vi" macht, hat wohl auch noch einen Einfluss darauf.
' schrieb:Die zweite Frage (zu meinem 2. Screenshot):
Wie weiß LabVIEW bei so einem Aufruf (diesmal Applikation und EXE), wo sich das VI genau befindet (dies ist übrigens auch ein VI, dass ich bei "Always included" angegeben habe)? Das habe ich so programmiert und es funktioniert auch problemlos, wieso wundert mich aber doch irgendwie. Ich vermute höchstens, dass LabVIEW das aktuelle Projekt durchsucht und da dann das VI findet.
Eine LV-EXE ist eigentlich eine erweiterte LLB. Du kannst deine.exe in deine.llb umbennen und mit LV die LLB öffnen.
Da siehst du nun welche VI in der EXE drinn sind. In dieser LLB gibt es keine Pfade mehr. Dein dynamisches VI ist dort auch drinn, da du das ja mit der Option "included" definiert hast.
Deshalb findet deine.exe das vi auch.