BLT for LabVIEW (Build, License, Track)

cancel
Showing results for 
Search instead for 
Did you mean: 

_STARTUP_VI is broken

Solved!
Go to solution

Hi,

 

I am evaluating BLT and using it for the first time.  My application consists of a bunch of DQMH modules called by top level vi which is also a DQMH module.

 

I was working through the BLT documentation (which is excellent), and reached upto where BLT builds its top level VI.  However the build through the BLT environment failed. Opening the STARTUP_VI reveals that its broken because its not part of the top-level application's lvlib.

 

What is the workaround?  Should I manually place the BLT _STARTUP_VI into my application's lvlib?

 

thanks,

 

Neville.

0 Kudos
Message 1 of 3
(3,034 Views)
Solution
Accepted by topic author Neville_D

Hi Neville, 

If I understand correctly, you have a DQMH Module which calls several other DQMH Modules.

So if we forget about BLT, the main VI for your application would be the Main.vi of your parent DQMH Module. By default, the Main.vi of a DQMH Module is private (it cannot be accessed outside of the DQMH Module library) in order to for you to use the public methods available (Start and Stop Module).

There are several ways you can solve your issue:

 

1. The best approach is to create a Launcher VI outside of your parent DQMH Module. This launcher VI will simply start your parent DQMH Module using the public method Start Module. I suggest you look at the DQMH CML sample project (https://delacor.com/documentation/dqmh-html/DQMHCMLSampleProject.html) to see how the launcher is implemented in "CML Main.vi". Then, make sure to modify the _STARTUP_VI to call this new launcher VI instead of the private Main.vi of your DQMH Module

2. You could make the Main.vi of your parent DQMH module to be Public instead or Private, but I don't recommend this approach since it breaks the DQMH guidelines and best practises

3. You could make the BLT STARTUP_VI part of your parent DQMH Module Library but I don't recommend this approach either since it could create issues with future releases of BLT.

 

So definitely, go with #1 even if this is a little bit more work.

Hope this helps.



Matthias Baudot | Software Architect | Founder at STUDIO BODs


STUDIO BODs     BLT for LabVIEW     LabVIEW Champion     Certified Professional Instructor     DQMH Trusted Advisor     GCentral Sponsor


 Check out my LabVIEW presentations and videos!

0 Kudos
Message 2 of 3
(3,028 Views)

Makes sense.  I will create a Launcher.vi that starts my application and make that the top-level vi called through BLT.

 

thanks,

 

Neville.

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