Actor Framework Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

This LabVIEW class cannot find its parent class.

I am not sure what is causing this, but am experiencing it quite frequently on the Reply Msg.lvclass and Message.lvclass..  My message classes lose the inheritance from their parent class and I have to manually relink them.  The error is the following:

"This LabVIEW class cannot find its parent class.

This VI is part of a LabVIEW class. No part of the class is executable at this time because the parent class is missing. To fix this error, load the missing .lvclass file into memory or edit the class to inherit off of LabVIEW Object. LabVIEW Object is the ultimate ancestor class for all LabVIEW classes and is always in memory.

Any tips on fixing these issues?  Relinking the inhertiance for 100+ messages is not fun.

CLA, CTA
0 Kudos
Message 1 of 12
(7,944 Views)

This probably is oversimplifying, but I had a similar problem a bit back and spent a good 8 hours trying to fix it.  Finally I just mass compiled my folder and the problem stopped tormenting me.

Any time I *change* inheritance of a class I end up saving all a few times and shutting down the project and re-opening, to make sure that I'm still okay.  That specifically seems to sometimes hose the linking between classes.

0 Kudos
Message 2 of 12
(4,744 Views)

Thanks for the feedback.  It is nice to know I am not the only one that has experienced this.  I created a scripting tool that fixed the missing links.  However, it would be nice to identify the root cause of this.

CLA, CTA
0 Kudos
Message 3 of 12
(4,744 Views)

LV has been "going out to lunch" for 5-10 minutes frequently lately whenever I modify an AF-derived class in my main project. Last night I added a message to one of my actor libraries, and after doing this it finished successfully, but a completely unrelated static dispatch method in a different actor threw an error that said "This VI failed to compile." I had to save everthing, close the project, clear the 35 MB LV object cache, and let it recompile the entire project the next time I opened and ran the top-level VI. This is in LV 11.0.1f2 x86.

I know it's all anecdotal and therefore useless to NI R&D, but know that you're not alone with compiler weirdness.

0 Kudos
Message 4 of 12
(4,744 Views)

LVB:

This almost always results from you moving classes around on disk instead of moving them around inside LabVIEW. It's no different than a missing subVI. In this case, there's an additional possible problem if you somehow crosslinked your classes against a different copy of the AF. Is that possible?

You can generally fix this trivially just by loading the missing parent class into memory. Is that not working for you?

-- AQ

0 Kudos
Message 5 of 12
(4,744 Views)

AristosQueue wrote:

LVB:

This almost always results from you moving classes around on disk instead of moving them around inside LabVIEW. It's no different than a missing subVI. In this case, there's an additional possible problem if you somehow crosslinked your classes against a different copy of the AF. Is that possible?

I have already learned (the hard way) not to move files outside of the project.  So no, it is not possible that I moved them on disk as I always use the project.

What I think may have happened is: during a mass compile of the project, some of the VIs used the Actor Framework inside of a packed library instead of Actor Framework in the vi.lib.  I don't think this would be proper behavior in terms of the mass compile tool (I was using the NI mass compile tool by right-clicking on the root of the project).  However, something terrible happened to my project.  If you are at the CLA summit, I can demonstrate this.

AristosQueue wrote:

You can generally fix this trivially just by loading the missing parent class into memory. Is that not working for you?

-- AQ

Loading the missing parent class into memory did not work.  And the project Replace With...  tool did not work either.  This led me down the path of scripting to resolve the issue.  If you could shed some light onto the topic here, I will post a tool that fixes these relinking issues.

CLA, CTA
0 Kudos
Message 6 of 12
(4,744 Views)

I am having this same issue. Any resolution to this? As you can see in the included image,  I have this "ghost" class Message.lvclass with all those childs but the real Message.lvclass is also present but not being linked to those child properly. I suspect this had to do with the DEBUG fork of AF that i have tried a a few days ago.  I did try to uninstall labview 2013 and reinstalling, but no hope Untitled.png

0 Kudos
Message 7 of 12
(4,744 Views)

Any chance you have been using packed project libraries?

CLA, CTA
0 Kudos
Message 8 of 12
(4,744 Views)

Here is a screeen shot of my project. I  don't believe I am using a packed project libraryUntitled2.png

0 Kudos
Message 9 of 12
(4,744 Views)

It looks like all of your message classes are looking for a class named "Message.lvclass" instead of one named "Actor Framework.lvlib:Message.lvclass".

I have no idea how you got into this situation, but I think you should be able to fix it by loading your project, then moving the Message.lvclass out of the Actor Framework.lvlib and then by moving it back in.

0 Kudos
Message 10 of 12
(4,744 Views)