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.

Actor Framework Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Framework menu disappeared, redoing interfaces restored it.

Solved!
Go to solution

Hang on... I have more information.

 

Using the new "Read Class Ancestry Without Loading" VI to read the class ancestry, it doesn't seem to show the entire class ancestry on an actor if its project is opened for the first time while the actor in question inherits from an interface that comes alphabetically before the immediate parent class (the original bug). However, if I change the inheritance to remove the interface from the inheritance, the "Read Class Ancestry Without Loading" works as expected (entire class ancestry) and it continues working even if I add the interface inheritance back in. Regardless though, the AF right-click menu does not appear when the interface is a part of the inheritance.

 

Hopefully that's clear and provides some insight into the problem, but let me know if I can provide more information and I'll continue post new information if I find any.

CLA CLED AF Guild
0 Kudos
Message 11 of 17
(1,615 Views)

I just tested this against the backup of "Read Class Ancestry Without Loading" and I actually see no functional difference. Again, this is after restarting LabVIEW and using it on Actors that inherit from PPLs for both classes and interfaces and the AF menu never shows up once I inherit from the interface.

 

Is this definitely the latest version of "Read Class Ancestry Without Loading"? The fix contains a file from 2020-09-12 timestamped at 11:46am. Or could "Is Actor Public Method.vi" also need to be updated?

CLA CLED AF Guild
0 Kudos
Message 12 of 17
(1,609 Views)

I think this issue needs to be re-opened as I've found conditions where the patch doesn't work as intended.

 

I still saw this issue popping up from time to time and I didn't take the time to really figure out when it happened until just recently, but it seems that while the issue is resolved for normal interfaces, if the interface happens to be contained within a PPL, then the original bug still exists. I'm attaching code that demonstrates what I'm talking about.

 

Steps to reproduce:

  1. Unzip the attached file and open "Example Actor.lvproj".
  2. Observe that right-clicking the "Example Actor.lvclass" file correctly shows the "Actor Framework" menu.
  3. Change the Example Actor interface inheritance so that it instead inherits from the PPL version of A_Interface (alphabetically before parent class "Parent Actor") as shown below:
  4. CaseyM_0-1610729863478.png

     

  5. Save the Example Actor (it must be saved before settings take effect!) and right click on it again.
  6. Observe that right-click "Actor Framework" menu is now missing.

A patch for this would be much appreciated as I'm in the midst of a large project where we intended to switch to interfaces that are a part of PPLs.

 

I'm going to open a support request for this as well so try and get more NI eyes on it as well. Speaking of which, did the original patch ever make it to a release? The release notes for any and all versions up until this point don't seem to indicate that is has. Also, is there a CAR associated with the original bug that I can reference in my support request?

CLA CLED AF Guild
Message 13 of 17
(1,517 Views)

Thanks for posting your update.

 

I can't speak for NI, or who on the team might be able to address this.  I'll take a look, myself, when I have a spare moment, but with my current project load, I can't promise that it will be soon.

0 Kudos
Message 14 of 17
(1,500 Views)

Thanks for the reply. I opened a service request and am currently working with Norm K to get this resolved. 👍

CLA CLED AF Guild
0 Kudos
Message 15 of 17
(1,497 Views)

FYI to anyone following this thread, I have filed Bug 1240106 on the issue where an actor class that inherits from an interface inside a PPL may not have the 'Actor Framework' right-click menu show up.

Message 16 of 17
(1,449 Views)

If anyone is interested, Darren was kind enough to let me share VIs that create a workaround for this bug. They're provided as-is, but another colleague and I have tested them on our projects and, though they add a bit of overhead to the right-click menus, they've worked in all the situations we've tested to this point.

 

NOTE: Be sure to back-up the original files before replacing with the modified files attached. I've also included my own backups from LabVIEW 2020 f1 (64-bit).

CLA CLED AF Guild
Download All
0 Kudos
Message 17 of 17
(1,440 Views)