LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Open VI Reference Error in the executable version only

Solved!
Go to solution

Hello folks! I am having a strange issue since I updated to Labview 2014: I have a vi that uses "Open VI Reference" in order to programmatically open the desired vi. It worked flawless also in the compiled version (.exe) of the program until yesterday, when i compiled it again for the first time since my update to Labview 2014. It compiles with no problem, but when i start the exe and load the first vi it already gives me an error "Built Application or Shared Library (DLL): Missing".

The point is that all the VIs that i want to open are inside an LLB that is supposed to be compiled inside the .exe: infact the path that i use to open is:

 

D:\LabVIEW Data\builds\Sequenzer\Sequenzer2.0.exe\com_lv_sequenzer\trunk\Sequenzer_Functions.llb\Seq_Connect_to_Database.vi

 

And i get error number 7:

Open VI Reference in Seq_Function_Interface.vi->Sequenzer_Main_2.0.vi<APPEND>
VI Path: <b>D:\LabVIEW Data\builds\Sequenzer\Sequenzer2.0.exe\com_lv_sequenzer\trunk\Sequenzer_Functions.llb\Seq_Connect_to_Database.vi</b>
Built Application or Shared Library (DLL): Make sure all dynamically loaded VIs were properly included in the build specification for the application or shared library.
LabVIEW Real-Time: VIs built into executables cannot be accessed through VI Server calls. Use Source Distributions to dynamically call VIs on Real-Time targets.

 

The vi Seq_Connect_to_Database.vi is included in my built (as you can see in the attached screenshot and as it has always been).

 

Do you have an idea of why it is not working anymore?

 

Thanks a lot in advance!

Dario Cassaniti

0 Kudos
Message 1 of 26
(6,891 Views)

Dario,

 

what was your previous LV version?

I understand that the previous EXE was built in an older version of LV....

 

Norbert

Norbert
----------------------------------------------------------------------------------------------------
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it.
0 Kudos
Message 2 of 26
(6,864 Views)

It was Labview 2012...

0 Kudos
Message 3 of 26
(6,857 Views)

If you're not loading the VI dynamically (e.g. as a plugin): Do you wire in the path to the VI directly or do you use the name/path property of a Static VI reference to get the path to the VI? That should return the path to the VI regardless of where it is located within the build (e.g. inside/outside of the executable).


LabVIEW Champion, CLA, CLED, CTD
(blog)
0 Kudos
Message 4 of 26
(6,851 Views)

That's the way i do it: i read the path of the executable and i build the llb path (and conseguently the vi path) on it...

0 Kudos
Message 5 of 26
(6,848 Views)
What is the path at the VI open? Is it correct? If the VI is included but the path is wrong, you still won't be able to find it.

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 6 of 26
(6,826 Views)

That's exactly the problem and what I am trying to understand here! The .llb file where all the VIs are is in D:\LabVIEW Data\com_lv_sequenzer\trunk\ which is the same folder where the lvproject and the main vi are. When I compile I say which VIs i want to include into the exe (as shown in the screenshot of the first post).

And here comes the question: which is the path of the VIs included in the exe?

 

Until my update to LV2014 the llb was included in the exe with this path: D:\LabVIEW Data\builds\Sequenzer\Sequenzer2.0.exe\com_lv_sequenzer\trunk\Sequenzer_Functions.llb  Did this change??

0 Kudos
Message 7 of 26
(6,809 Views)
OK, here is where I am confused. You talk about including the llb in the build, but in the screen shot you show a bunch of individual VIs being included. Next, in source file settings where are you telling the app builder to store all those individual VIs? Because they are VIs LabVIEW will, by default, want to put them in the executable somewhere.

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 8 of 26
(6,783 Views)

I don't really need to include the whole llb, i just need to locate the path of the included VI once the exe is compiled, so that i can start the one i want only by knowing its name..

0 Kudos
Message 9 of 26
(6,779 Views)

I would check it is calling a correct path inside executable. Something may changed.

You can check if file is really there, list folder should work inside exe:

http://digital.ni.com/public.nsf/allkb/C18336D91FFE3D3086256C47007B71F9

0 Kudos
Message 10 of 26
(6,759 Views)