09-29-2020 11:26 AM
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.
09-29-2020 01:03 PM
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?
01-15-2021 10:57 AM
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:
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?
01-15-2021 01:22 PM
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.
01-15-2021 01:54 PM
01-20-2021 02:19 PM
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.
01-20-2021 04:19 PM
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).