LabVIEW APIs Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Get progress when building an EXE with Application Builder API

Found out about the U64 input to "Load_From_Project.vi".

As per https://forums.ni.com/t5/LabVIEW-Project-Providers/FAQ-about-LabVIEW-Project-Providers/m-p/3494834?p...

you can use the following to get it: <LabVIEW>\resource\Framework\Providers\Common\provcom_GetObjectItemFromProjectItem.vi

for which you can supply build spec ref. Lo and behold, I was able to programmatically build with progress (see attached example)!

 

Merry Christmas! 🙂

Message 11 of 17
(2,945 Views)

The example was LabVIEW 2020 though. Attached are 2015 and 2018 versions.

Download All
Message 12 of 17
(2,941 Views)

Merry Christmas indeed! Hopefully the OP sees this and marks it a solution. But just in case:

 

^^^Solution for building installers with progress by @RogerSaele

 

Thanks for posting.

0 Kudos
Message 13 of 17
(2,913 Views)

Just discovered that one can also use "AB_API Get Build Object.vi" (which is used by "Open_EXE.vi", first VI in Voky's solution, from "NI_AB_API_EXE.class"), selecting installer as build object type, and providing project refnum and build spec name:

 

AB_API Get Build Object.png

 

The build object output can be used as input to "Load_From_Project.vi".

0 Kudos
Message 14 of 17
(2,829 Views)

Yet another solution. Opens up a native LabVIEW build window.

Zyga_0-1668779852263.png

 

 

Message 15 of 17
(2,110 Views)

 


@Voky  escreveu:

Hi Matthias,

Sorry this is a little late.  "Create progressbar event.vi" creates user events for the Application Builder API to pass messages with, I would guess the normal pop-up window utilizes these events.  Below is a quick and dirty snippet example of using these events to show build status.

build with progress bar.png

 

-Voky


I tried to build a RT application using this approach, it worked fine, but when I added the WebService to the buildspec I got a "Recursive Call at Build_Restful.vi" (I need to get the exact error and update the post), and then the build stopped.

Anyone else had this issue before? (LV 2017SP1)

error.PNG

 

Regards,

0 Kudos
Message 16 of 17
(1,725 Views)

@felipefoz  escreveu:

 


@Voky  escreveu:

Hi Matthias,

Sorry this is a little late.  "Create progressbar event.vi" creates user events for the Application Builder API to pass messages with, I would guess the normal pop-up window utilizes these events.  Below is a quick and dirty snippet example of using these events to show build status.

build with progress bar.png

 

-Voky


I tried to build a RT application using this approach, it worked fine, but when I added the WebService to the buildspec I got a "Recursive Call at Build_Restful.vi" (I need to get the exact error and update the post), and then the build stopped.

Anyone else had this issue before? (LV 2017SP1)

error.PNG

 

Regards,


SOLVED!
There is a bug in the Build.vi when trying to build an application with web services.

The fix consist in changing the reentrancy of the Build.vi from Non-reentrant to Shared Reentrant and of course all the implementations of the Build.vi in different classes (it is a dynamic dispatch VI)

This is possible with newest version of the LabVIEW where this API is not password locked.

Message 17 of 17
(1,613 Views)