Popular Post Aristos Queue Posted August 27, 2010 Popular Post Report Share Posted August 27, 2010 You can all send a thank you note to JGCode. He posted a question in the ni.com forums that happened to hit at a moment when nothing was screaming for my attention, and I finally got around to going through the VIs that handle New Accessor and the New Override and removing all the passwords and posting those VIs to the forums. http://decibel.ni.com/content/docs/DOC-13196 http://decibel.ni.com/content/docs/DOC-13195 The first link will get you the files that actually handle creating new VIs within a LV class and scripting the different behaviors for the terminals (including the UI for the New Accessor VI dialog). You'll find a wealth of scripting helper functions in this library. The second link will get you the files that handle updating VI icons when the library icon changes, including the composition of inherited class icons. Open the file "MemberVICreation.lvlib". That's where you should begin your explorations. You'll quickly see the two top level VIs -- one handles new accessors, the other handles new overrides. Remember, with great power comes great responsibility. What do I mean by this? I mean that I'd like someone to finish writing the ElementWrapperRetooler.lvclass for me. :-) It's one of the classes that is now unlocked. That class is the start of a solution to "I have a class X that has another class Y as a private data member. I want to create a new method on X that has the same conpane as a method on Y but with all terminals of type Y replaced with terminals of type X. On the block diagram, I want to unbundle the Y, call Y's method, and if there's an output, put the Y back into my X cluster." This has been requested by many people over the four years since LV was released to accelerate development of the Delegate pattern and similar patterns, but I've never finished writing it. All calls to any of the VIRetooler classes start by calling "MemberVICreation.lvlib:VIRetooler.lvclass:CLSUIP_RetoolVI.vi". Honestly, that should be the only public function in the VIRetooler class and the others should all be protected, but since the classes themselves are private to the MemberVICreation.lvlib, no one on the Language team has worried about setting the access scope correctly on the individual VIs. Have fun. PS: Although the passwords are all removed, the VIs and classes are all private to the MemberVICreation.lvlib. This keeps users from using these VIs on their own diagrams. If you want to use them on your own diagrams, make a copy of this library and make it public. That way when I completely change these VIs in a future version of LV, you're linked against your own copies instead of linked against the ones that ship with LabVIEW. We'll all be happier that way, trust me. :-) 3 Quote Link to comment
gb119 Posted August 27, 2010 Report Share Posted August 27, 2010 You can all send a thank you note to JGCode. He posted a question in the ni.com forums that happened to hit at a moment when nothing was screaming for my attention, and I finally got around to going through the VIs that handle New Accessor and the New Override and removing all the passwords and posting those VIs to the forums. [...] Thank you JGCode How similar are the equivalent VIs for earlier versions of LabVIEW - specifically 8.6.1 and 2009 SP1 ? I don't suppose there's any chance of letting us poke at those ? Quote Link to comment
Black Pearl Posted August 27, 2010 Report Share Posted August 27, 2010 Remember, with great power comes great responsibility. What do I mean by this? I mean that I'd like someone to finish writing the ElementWrapperRetooler.lvclass for me. :-) It's one of the classes that is now unlocked. That class is the start of a solution to "I have a class X that has another class Y as a private data member. I want to create a new method on X that has the same conpane as a method on Y but with all terminals of type Y replaced with terminals of type X. On the block diagram, I want to unbundle the Y, call Y's method, and if there's an output, put the Y back into my X cluster." This has been requested by many people over the four years since LV was released to accelerate development of the Delegate pattern and similar patterns, but I've never finished writing it. It's friday evening and it's raining outside: You made my weekend! That's even more than you revealed on the ni community in terms of presents for the 'scripting ninjas'. Now I need to send a PM to JGCode to thank him as well. Felix Quote Link to comment
jgcode Posted August 27, 2010 Report Share Posted August 27, 2010 You can all send a thank you note to JGCode. Happy to collect in reputation points instead No, seriously I just woke up got out of bed and its like Christmas. Unfortunately I have to finish off building my deck (another story) so I can't play with this right now and it going to KILL ME Thank you so much AQ - you rock! 1 Quote Link to comment
jgcode Posted August 28, 2010 Report Share Posted August 28, 2010 First things first: Please find the following links to packages so that everyone can install these updates easily into LabVIEW using VIPM. Cheers -JG New Accessors Library And Class Icons Quote Link to comment
Yair Posted August 29, 2010 Report Share Posted August 29, 2010 Remember, with great power comes great responsibility. Nah, I prefer my version: At least it's not an I8. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.