Author: crandiba (CERN)
Hi all,
This plugin adds the option to quickly open the block diagram of the called VI from an Actor Framework Message's "Do.vi" by right-clicking on its respective "Send ... Msg".
To identify the clicked subVI as an AF's message "Send" VI, three checks are performed:
1) that the VI is part of a library that contains a "Do.vi" (so rules out abstract message classes)
2) that that library inherits from the AF's "Message" class
3) that it contains an AF Message's "Enqueue" .vi
These three checks are of course, a compromise in robustness and amount of code executed. They are kept as simple subVIs in the code to make them a bit more accessible if ever you wish to change or replace them.
As always, thank you all
Best,
Cris
Hi Cris,
As you already described in your block diagram comment to increase speed we might compromise with less checks and only check if there is a Do.vi.
I noticed it takes a long time to show the menu if there are a lot of libraries (classes, messages,..) in the project. The reason seems to be the property node that returns the reference to the owning library of a VI. I created a version that just checks whether there is a Do.vi next to the VI under test on disk. This works for my most of my "Send....Msg". It's a less thorough check but much faster in large projects.
I also omitted the "check for enqueuer" and "check for message parent" since they both expect "Actor Framework.lvlib" to contain the AF but we also use packed actor libraries and I wanted to be able to use this plugin on those as well.
You can find my version of this plugin attached to this post (I couldn't upload it here). It is saved in LabVIEW2016.
Thanks for such a useful plugin. I already saved me a lot of time and clicking.
Best Regards,
Stefan Lemmens
I was about to make this plugin myself - so thanks for doing the hard-work for me!
The apart from what's already mentioned, I'm going to make minor changes it so it displays as 'Go to Method...' and appears at the very top of the menu.
Update: One thing I would like to see more of on the community forums is collaboration. If the owner of this thread is happy to share the GitHub (or other SSC) repository, I would be happy to commit my (and Stefan's) changed for the benefit of the wider community.
This is a great tool developed by crandiba (CERN). I have created this GitHub page to share the small changes I made, I invite developers to also contribute to the tool.
https://github.com/TomsLabVIEWAdventure/Open-Actor-Method-From-Message
There are more optimisations to be done. However, I hope this starts to push some collaborative efforts 🙂
Hi all,
It makes me more happy than you know to be able to give a small something back to a great community. Your words only motivate me more.
Thanks for putting it up on github, hopefully it will be easier to share and improve for everyone.
Thanks again,
Cris
Hi,
thanks for sharing this, how do you install this?
i have tried using the Right-Click Framework from JKI
/Marck
How to install plug-ins that you download
Don't use the JKI Right-Click Framework. That was a hack when it was released (was quite useful at the time, mostly done to force NI to release Scripting) and NI changed things to completely break it somewhere along the line.
@crossrulz wrote:NI changed things to completely break it somewhere along the line.
To be clear, the breakage was unintentional. The JKI RCF depended on some unsupported functionality that happened to change between LabVIEW versions, for reasons completely unrelated to its usage inside JKI RCF.
Hi All and Tom,
thank you for sharing the improved Plug-in.
I tried to run it and it returned me the following message:
I don't know why it reads that vi inside the Do.vi, but I have solved the issue modifying the "Execute Open Message Handle.vi" as follows:
I have done a Pull Request in te TomsLabVIEWAdventure repository.
I hope it is a good approach. If not, please let me know!
Adriana.