LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How do I set a path in an executable for a DLL?

I wrote a VI that is using a DLL in the Call Function Library Node. I set the parameters to Specify Path In Program in the node. I did this because I am distributing the VI as an executable and the path is obviously not the same as my VI. When running the VI I am using the Current VIs path, Strip Path, and then Build Path to get the directory for the DLL I am calling. It works fine for the VI. Where my problem lies is when I run it as an executable the filename.exe is being used in the build path and the DLL is then not being found. Is there a reason the .exe is acting different than the VI? What would a good solution be to fix this problem? Thanks in advance for any help.
0 Kudos
Message 1 of 3
(2,572 Views)

There's a perfectly good reason and this question gets asked about once a week from people new to the app builder. When you use the current VI's path in the development system, the path might be c:\folder\example.vi. When in a exe or dll, the path to the current VI is c:\folder\program.dll\example.vi. You need an extra strip path. You make it work in both development and the dll by using reading the App.Kind property and wiring the output to a case statement. Put the extra strip path in the run-time case.

Message 2 of 3
(2,564 Views)
Dennis,
I will give it a try. Thanks for the help.
0 Kudos
Message 3 of 3
(2,541 Views)