LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

OMUDClassLinker.cpp line 5618 error when loading a class

JoeClaLvSinceVersion20_0-1745258666659.png

I get this dialog when trying to load a class that worked before the holiday a couple of days ago. I had to rename the class file just to get it to load. I have included the class file by itself to see if someone can open it without a crash.

Download All
0 Kudos
Message 1 of 9
(125 Views)

There's something corrupt in the flattened private data control that is stored in the .lvclass file. If I replace the XML of your private data with the equivalent of an empty private data control, the class loads without crashing.

 

I don't know of any way to restore a .lvclass file with a corrupted private data control XML element.

0 Kudos
Message 2 of 9
(102 Views)

Can you post the file that opens? I don't really care about the default data, as long as I can open the class file with its contents in place.

 

Unfortunately, for this project I don't have it in a repo. The next version of the class file is from when I started the project (with very few items in the lvclass file).

 

Is there a way to make LabVIEW load the lvclass file and just load empty data?

0 Kudos
Message 3 of 9
(90 Views)

I think I have a pretty quick solution. I just deleted the corrupt class file, and I will add the accessor controls to the lvclass .ctl class definition.

 

JoeClaLvSinceVersion20_0-1745267822457.png

 

Message 4 of 9
(83 Views)

@JoeClaLvSinceVersion2.0 wrote:

 

Is there a way to make LabVIEW load the lvclass file and just load empty data?


Not that I know of. The private data control XML element defines the data type of the class, i.e. all the controls you've placed inside the private data control cluster.

Message 5 of 9
(81 Views)

JoeClaLvSinceVersion20_0-1745267963087.png

Loading up the class object .ctl with controls, I added http client and I got this error again. This data type seems to be the culprit perhaps?

JoeClaLvSinceVersion20_1-1745268186107.png

 

0 Kudos
Message 6 of 9
(75 Views)

I would try a couple of things as alternates.

 

First, see if disconnecting the type definition before adding it to your class private data helps.

 

If that doesn't help, then I would suggest storing it in the private data as a Variant, and have your accessors for it convert it to and from a Variant internally.

 

If this is a repeatable bug you might consider trying to get CAR submitted so NI can maybe correct the issue down the line.

Message 7 of 9
(73 Views)

Thanks for the reply Kyle! I don't want to come across as a LabVIEW snob - it seems awkward to use a variant in a class. If this persists, I am thinking casting to/from U32 in the class accessor. That may be a better way to go.

0 Kudos
Message 8 of 9
(67 Views)

I loaded that http reference control from the http sub-VI and added it to the class library ctl with no issues. That did the trick. Thanks for the help guys!

0 Kudos
Message 9 of 9
(43 Views)