LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Bad Link in Built Application

Using LV 7.0, I'm getting a bad link to three hard-referenced vi's in my built application. The installation is fine, but when I run the app, I am prompted to find three vi's from the Picture Toolkit (these are the only three vi's I use from the picture toolkit: "read jpg file.vi", "Empty Picture.vi" and "Draw Flattened Pixmap.vi"). All other vi's load just fine from the .exe.

All three of these files do exist in the built data.llb. I can browse to them when prompted from the attempted run of the executable. However, I keep having to browse to them each time I run the .exe.

I'm not dynamically loading these vi's. They are hardwired in the diagram. I've tried adding in the entire picture toolkit folder by telling the app builder that this folder is dynamically linked, but get the same result.

Thanks in advance for any insight you might have!
0 Kudos
Message 1 of 9
(3,282 Views)
An update with one additional piece of info: If I try and execute the compiled executable on the development machine, it runs just fine.
0 Kudos
Message 2 of 9
(3,262 Views)
Possible cause would be using a current path VI and stripping the information to get a relative path. In the developement phase you only need to strip it once but when compiled you have to strip it twice. This may or may not be the issue but it sounds like it could be... if this is the cause use this sub vi in your application instead of the standard relative path vi.
0 Kudos
Message 3 of 9
(3,253 Views)
Thanks for the reply. As these vi's are hard-wired (not dynamically loaded), I'm relying on the app builder to pull in the vi's to data.llb and reform the links. The vi's are correctly put into data.llb. However, internally the links are not being changed to this location by the app builder - all other vi's are correctly change--just not these three vi's from the picture toolkit. Strange.

Thanks again for your reply.
0 Kudos
Message 4 of 9
(3,239 Views)
I still don't understand what you're doing - are you using a constant reference to call the VIs or do you have them as subVIs in your code?
When an application is built, NI's VIs should not be included in your own LLB, but in the run time engine. That's the point of the run time engine. If you do want them to be included in your LLB, you should select "Include VI.lib VIs" when saving the LLB.
I suggest you post the relevant piece of code (or at least a picture of the code you use to call the VIs). We will probably be better able to help you.

___________________
Try to take over the world!
0 Kudos
Message 5 of 9
(3,233 Views)

@WiringForDollars wrote:
Using LV 7.0, I'm getting a bad link to three hard-referenced vi's in my built application.
snip
All three of these files do exist in the built data.llb.
snip
I'm not dynamically loading these vi's. They are hardwired in the diagram.
snip


I am not sure what is happening. The picture controls used to be part of of a toolkit. I thought maybe that toolkit would need to be included in the installer, but it is not listed with the others.

I built a small application that merely loaded and showed a jpg and it built and ran with no problem. I am at a loss.

Bob Young
0 Kudos
Message 6 of 9
(3,226 Views)
I'm attaching the a simple application (splash.vi) that is being compiled and put through the app builder installer. This program will just throw up a splash screen for a few seconds, and then shut down. The picture vi's are not even being called in this application (they are cased out). However, this vi will not run on another computer after being installed with the installer files created with the application builder. It prompts for the location of the picture vi's.

It does appear that the picture toolkit is now standard - sorry 'bout the confusion.

The vi's that are failing are being dropped directly onto the block diagram (true sub-vi's).

I, too, can use the application builder to compile this file into a .exe. The splash.exe runs just fine from the development computer. It is when I use the installer files created by the app builder to install this application (setup.exe) on a different computer that I experience the bad linkage.

Thank you for taking the time.
0 Kudos
Message 7 of 9
(3,213 Views)
You're right, this does sound wierd. I believe the picture VIs should be included as standard in the RTE. I don't remember running a VI using them on a computer with only the RTE, so I can't tell myself.
I can make three suggestions:
1. Like I said above, make an LLB of all the VIs (including VI.lib ones) and this will gurantee the picture VIs are called from this LLB and not from LV's default location.
2. Run a clean install of just the RTE on the other machine and see if that helped (I think you can find it on the LV CD).
3. If all else fails, and this is some mystery glitch in the app builder, there is always the magic solution - that dreaded word: REINSTALL. But I would only do that as a last resort.

___________________
Try to take over the world!
0 Kudos
Message 8 of 9
(3,204 Views)
Those are great suggestions - I'll start in on #1 and work down. #3 is a biggie. Hopefully tech support will be able to solve the problem before then!
0 Kudos
Message 9 of 9
(3,194 Views)