LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Renaming class files during .exe application build results in RT error

In Labview 8.5, when having defined multiple classes with equally named method vis, an application build of a .exe executable has to rename the vis of the classes to avoid name clashes.
I've tried two methods for achieving this:
1. Let the application builder rename clashing vis automatically, giving warnings at build time.
2. Rename vis of the classes myself by applying a prefix to all contained items for every class, this results in a correct .exe build without warnings.

In both cases, the build seems to go OK, but at runtime the executable cannot be loaded and the following message is displayed without further diagnostic information:
------------------------------------------
The VI is not executable. The full
development version of LabVIEW
is required to fix the errors.
------------------------------------------

The error is easily reproducible by:
1. Create a fresh project with one class and one regular vi to use as startup vi.
2. Create an instance of the class as a constant on  the block diagram.
3. Build two .exe applications which both use the regular vi as startup vi:
 - One without further modifications of the build configurations
 - One in which the class is renamed (in Category 'Source file Settings')

Both builds should go OK
The first built .exe should run without errors, though it functionally does nothing.
The second built .exe should display the error:
------------------------------------------
The VI is not executable. The full
development version of LabVIEW
is required to fix the errors.
------------------------------------------

It bothers me that no diagnostic information whatsoever is given with which to track down the problem. It has cost me a lot of time to find this out.

Is this a known bug or limitation of LabVIEW 8.5?

Greetings,
KoosKoets
0 Kudos
Message 1 of 4
(3,142 Views)

After seeing how many problems people are having with the application builder in LabVIEW I would say this would qualify as a known limitation:

And the known limitation is.....: The LabVIEW application builder is a peice of crap.  Therefore, you cannot expect it to do what you want, nor can expect any useful diagnostics out of it if it doesn't.  If you can get it to work then congratulations.  If not, I'd recommend you use a tool that doesn't suffer from severe NI-ization.  Such as Visual Studio.

Good luck.  🙂 

Rob

0 Kudos
Message 2 of 4
(3,111 Views)
Furthermore, you cannot generate the same binary executable twice, just to complicate your configuration management requirements!  Give me my one star, baby!  🙂
0 Kudos
Message 3 of 4
(3,083 Views)
Building an application out of classes that have method VIs of the same name causes the duplicate files to be moved to their own directories outside of the executable. The files are relinked so the application should work properly. The files do not get renamed because that would cause the dynamic dispatching of the classes not to work. That is more than likely what is happening in your second scenario.

There are many applications that use classes that build and run fine. Do you have a specific example that causes the problem?
George M
National Instruments
0 Kudos
Message 4 of 4
(3,073 Views)