LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Weird problem, error 1124 "vi not loadable"?? please help its important

Ok, here's the symptoms:

I have an app. I built in labview, which uses a call by reference node to open teh front panel of another VI stored in an llb and run it.
In the labview environment, this works fine - but when the main app is compiled into an executable, i have a weird issue -

i get a "error 1124 vi not loadable" message when the compiled app tries to open the reference. Whats strange is I can get rid of this error by opening up the VI (in the llb) and saving it again without making any changes. Do llbs have some kind of permission information stored in them that would result in a problem like this? And if so, how can I set them using labview?
I can't imagine something you can imagine and can't make with LabVIEW.
I am the original NI Alliance Member
0 Kudos
Message 1 of 3
(3,895 Views)
I would suspect a path problem - How are you specifying the path to the dynamic VI?
If the OPEN call is in a VI -FILE- ( not VI within LLB), or if it's in a library within a folder different from the main, then the relative path out to anything else is different depending on whether you're in the dev. system or an EXE. If the OPEN call is in a LLB at the same folder level as the executable level, then you're OK.

Are you using PATH TO THIS VI as a starting point for generating a path to the plug-in?

Assume you have:
My Disk:My Folder:My Program Main.vi
My Disk:My Folder:My Library.llb:Dynamic.vi

If you use PATH TO THIS VI in the main vi, then one parent (STRIP PATH once) yields the containing folder (My Folder), and two parents (STRIP PATH twic
e) yields the folder that contains it.

Bit when you make an executable out of it, you have
My Disk:My Folder:My Executable program:My Program Main.vi
My Disk:My Folder:My Library.llb:Dynamic.vi

Here it takes TWO STRIP PATH operations to get to the dynamic VI, not one.


That doesn't explain why the problem would go away when you open the dynamic VI and re-save it.

If you do that (open the dynamic VI and re-save it), you say the problem goes away... When does it re-appear?
Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com


LinkedIn

Blog for (mostly LabVIEW) programmers: Tips And Tricks

0 Kudos
Message 2 of 3
(3,895 Views)
I think what happen is when your calling that .llb from LabView, not
from an executable, all the .llb VIs needed is already into memory.
Those VI can be LabView functions or others, if they are not into
memory LabView.exe have setting for search path for those VI. When
calling the VI(residing into .llb) from an executable, you will get
that error if the calling .exe can't load all the VIs used by the VI
in the .llb.
To avoid that, try to save THE VI with "Save with Option" from File
menu. Then check "Custom Save", check "Save entire hierarchy", check
"Include vi.lib files", check "Include external subroutines, check
Include run-time menus and check No password change. You should have
all you need into the .llb at this point. Let me know if it does it
for you!!

0 Kudos
Message 3 of 3
(3,895 Views)