LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Create application with multiple LLBs

Solved!
Go to solution

Which VI? Show Prompt? Show Prompt.vi is listed as one of the dependencies. It's in the same library (Script Runner 2023.llb) as the startup vi, CalScript Runner.vi . It did get compiled into the executable and works fine. 

 

It seems that all of the dependent vi's that are not in the same library (Script Runner 2023.llb), such as BT Toolbar, are not being compiled in with the application when I build it. I cannot test the rest of them as I don't have any of the instruments needed. If I can figure out why the toolbar is not getting compiled in, even though it is a dependency, I can probably figure out how to include the rest of the dependencies in the final executable. 

 

It appears that BT Toolbar is dynamically loading the small toolbar (BT35_small_toolbar.vi). But again, I can't seem to put it on the "always include" list because it's in a different library.

 

 

0 Kudos
Message 31 of 39
(192 Views)

Project files that are not directly a dependency of the startup VI will only be included if they are explicitly listed in "always include", if that VI (BT35_small_toolbar.vi) is part of the project, you should be able to put it there, no matter what llb it resides in.

 

 

0 Kudos
Message 32 of 39
(182 Views)

@TLamb64 wrote:

I dragged all of the dependencies up to the project level. Added all of the VIs to the Always Include list. Still when I run the executable the pink toolbar at the top does not display.


Pink toolbar?

It's good that you attack screendumps instead of photos, but please save them as .PNG. Even better would be if you included some .VIs

 

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 33 of 39
(160 Views)

@TLamb64 wrote:

Block Diagram of Run BT Toolbar.vi 

 

TLamb64_1-1747670749323.png

 

 


I have a feeling this is a dev/exe path-issue. Replace that Path constant with a Static VI ref and i'm sure LV will find it and solve it for you.

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 34 of 39
(157 Views)

This seems reasonable. Unfortunately, I don't know how to do this... The application is designed such that the toolbar and the tab control run independent of each other, with the tab control sending data to the toolbar. Hence the need to obtain a reference to the toolbar.  The only terminal on the bt35_small_toolbar VI is the Data terminal.

0 Kudos
Message 35 of 39
(135 Views)

@TLamb64 wrote:

The only terminal on the bt35_small_toolbar VI is the Data terminal.


I have absolutely no idea what that means!

 

If that toolbar VI is part of the project (inside an llb or not!) add exactly that VI to the always include list.

 

(I haven't used LLBs in decades, but you might also look at the "additional exclusion" settings and uncheck "remove unused members of project libraries". While I guess that talks about lvlibs maybe it also applies to LLBs. The help is not really clear.)

0 Kudos
Message 36 of 39
(123 Views)

In a previous reply, someone said "I have a feeling this is a dev/exe path-issue. Replace that Path constant with a Static VI ref and i'm sure LV will find it and solve it for you." This makes sense to me, so I changed the path reference to include the complete path and llb. This did not solve the problem.

TLamb64_0-1747772151779.png

 

So probably I don't know what she meant by "Static VI ref". If she meant just to place the BT35_small_toolbar.VI on the diagram and wire it up, I can't do that because there are no terminals to wire to. I tried just putting the VI on the diagram, without any wires, and that causes the whole program to just hang, in the dev environment and from the executable.

 

The toolbar and the tabbed folder are supposed to run independently at the same time. The tabbed folder uses the toolbar reference obtained by Run Toolbar.vi to pass data to the toolbar.

TLamb64_1-1747773644946.png

Run BT Toolbar.vi gets a reference to the bt35_small_toolbar.vi. So I guess it's what's called a Dynamically Loaded VI. Since bt35_small_toolbar.vi get loaded dynamically, it does not show up on the dependencies list. I added bt35_small_toolbar.vi to the project and then added it to the Always Include. Still doesn't work.

0 Kudos
Message 37 of 39
(105 Views)
Solution
Accepted by topic author TLamb64

This is a static VI ref

cordm_1-1747776229473.png

 

Put it on the Block Diagram and drag the VI for which you want to create a static VI reference onto the placeholder.Or right click and Browse for Path...

Now you do not need to worry about including the VI in the build spec anymore. LabVIEW knows about it and includes it automatically.

Message 38 of 39
(98 Views)

Thank you so much! I didn't know what a Static VI Ref was... now I do! The vi shows up properly on the dependencies list, and displays and works correctly when I run the executable. So very thankful for the answer... now I can start working on what I initially started to do!

TLamb64_0-1747838481168.png

 

~~~Tracy

 

0 Kudos
Message 39 of 39
(72 Views)