From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Linkage problem with class in a cluster

This problem is illustrated at 1:30 of this video.

 

If the output of a VI is a cluster containing a class, a linking problem occurs.

 

I tried to reproduce the problem in the simplest way. I uploaded 3 files (LabVIEW 2016 format) with this post:

 

Class 1.lvclass

Output Class-Cluster.vi

Use Class-cluster.vi

 

So Class 1 is simply an empty class.

"Output Class-Cluster.vi" creates a cluster containing Class 1 and outputs it as an indicator.

 

"Use Class-Cluster.vi" uses the output of "Output Class-Cluster.vi".

 

So, if you open any of the two VIs, no problem.

 

If you import "Output Class-Cluster.vi" in a blank VI that is not in a project, the VI breaks. The reported error is blank. As shown in the video, you can create a project, add the calling VI to the project when prompted, then create a cluster constant, and the problem is fixed. You can also close the VI, reopen it, force a re-compile and it should be fixed. A simple force recompile does not work.

 

If you import "Output Class-Cluster.vi" into a blank VI that is already part of a project, the calling VI breaks and the only way I found to fix it is close the project and reopen it.

 

I reproduced the problem with LabVIEW 2016, 2017, and 2018.

 

Am I the only one having that problem? Is there a simpler way to fix the linkage? Is there a way to permanently fix the linkage in "Output Class-Cluster.vi"?

 

Any information about that problem would be appreciated.

 

Marc Dubois
0 Kudos
Message 1 of 3
(1,957 Views)

I'd say most VIs are created in a project nowadays. So either nobody noticed it, or if they did created a project and let it go...

0 Kudos
Message 2 of 3
(1,908 Views)

Using a project helps but until you save and reopen the project (and possibly force a recompile), the calling VI is broken and the block diagram looks like this:

 

Example_VI_BD.png

Marc Dubois
0 Kudos
Message 3 of 3
(1,898 Views)