Hi gili,
Problem:
When I entered the name of a DLL in the Call Library Function configuration window (right-click on the Call Library Function, select Configure), I did not specify the path to the DLL in the Library Name or Path field; I just entered the name of the DLL. Where will LabVIEW look for the DLL? Also, if I included the correct path but later moved the DLL, where will LabVIEW search?
Solution:
LabVIEW will first look in the location that you specified in Library Name or Path field. After that it will use the VI Search Path. The VI Search Path can be set in Tools » Options in the category of Paths.
Note: This search order is different from the search order that is used by an executable built using the Application Builder :
http://digital.ni.com/public.nsf/websearch/862567530005f09c862565c50068363d?OpenDocument
which is :
1)the same directory as the executable,
2)\windows\system (\winnt\system32 for NT systems)
3)any path that is specified with the "set path" command in the autoexec.bat file or listed in the path environment variable on NT
On opening up a vi which specifies a dll, it will still search and load it if it can find it.
After that, unless you unload the vi and all the others holding the dll open, then the LV process has it.
So if you open up a main.vi and it has 3 sub vi's all using the same dll, but it has moved, then you need to change each and every call library node referring to it, and save. Shut them down, and re-open. Best to work without the path filled in and make sure it's available in the search path.
Hope that helps
Sacha Emery
National Instruments (UK)
// it takes almost no time to rate an answer