Jump to content


Photo
- - - - -

Open Property Node Accessor VI

property node lvoop pop property

  • Please log in to reply
6 replies to this topic

#1 Norm Kirchner

Norm Kirchner

    The 500 club

  • NI
  • 747 posts
  • Location:Austin, TX
  • Version:LabVIEW 2012
  • Since:2000

Posted 10 January 2012 - 04:43 PM

*
POPULAR

When working with code that uses LVOOP property nodes, debugging becomes difficult because there is no easy way to go to the accessor code that runs when the property node executes.

So in order to alleviate this I created the Property Popper.
  • Run this floater helper VI (leave running during development)
  • When you want to get to an accessor, select the property node
  • Click 'Get Properties' on Pop Property.vi
  • Double click on the property you want to get accessor access to
Enjoy

~,~ The Captain was here

See Video Detailing this

<!-- copy and paste. Modify height and width if desired. -->
> /> />

Attached Files


  • jgcode and asbo like this

#2 Yair

Yair

    Extwemely Active

  • Members
  • PipPipPipPipPipPip
  • 2,744 posts
  • Version:LabVIEW 2009
  • Since:2003

Posted 10 January 2012 - 06:38 PM

I just added an idea to have this as a native option - http://forums.ni.com...e/idi-p/1832349

#3 jgcode

jgcode

    LabVIEW Renegade

  • OpenG
  • PipPipPipPipPipPip
  • 2,407 posts
  • Location:Australia
  • Version:LabVIEW 2009
  • Since:2005

Posted 15 January 2012 - 02:48 PM

I really like this tool and so, as per the video, I went ahead and worked on it a little.

The attached version:
  • Opens only 1 VI - the correct Read or Write method, which matches the method on the property node selected
  • Contains error handling and user feedback
  • Attempts to remove the initial lag by initialising the listbox (need more feedback on this as to whether this has worked on other systems - please post)
  • I have added Read or Write in parenthesis for a listbox item, in the case where a PN may have both
  • You can re-click on the listbox to open another n properties (easy fix - the lvclass ref just needed to be cache'd back into the SR)
  • Opens FP and BD of method VI
One issue I am having trouble with is opening an overridden method for the correct data on the wire (which I have inquired about here).
If the wire's type is a Parent but a Child is the Actual Data Type and you have Retain Wire Values on, it would be nice if the Child's overridden method opens (for such cases), but at the moment the Parent's method will open.

The code is a bit smooshed and the BD is large, but I wanted to keep it on 1 VI for distribution at the moment.

Attached File  LVOOP Property Popper.vi   52.63KB   49 downloads
[Code in LabVIEW 2011]
  • Norm Kirchner likes this

#4 Norm Kirchner

Norm Kirchner

    The 500 club

  • NI
  • 747 posts
  • Location:Austin, TX
  • Version:LabVIEW 2012
  • Since:2000

Posted 16 January 2012 - 05:34 AM

Perfect! Thanks JG

#5 jgcode

jgcode

    LabVIEW Renegade

  • OpenG
  • PipPipPipPipPipPip
  • 2,407 posts
  • Location:Australia
  • Version:LabVIEW 2009
  • Since:2005

Posted 16 January 2012 - 03:53 PM

*
POPULAR

Ok check this out!

<!-- copy and paste. Modify height and width if desired. --> > /> /> Unable to display content. Adobe Flash is required.

From the help of my LAVA friends the tool is now able to open the correct override VI of a Child Class!
AQ provided the Get Name of Class Object VI.

I need to refactor the code to make it neater (backwards wire etc...) and would use subVIs to make this easier to read however, I wanted to post it in the easiest for anyone to test - but here it is.

Attached File  App Vars.vi   3.95KB   70 downloads
Attached File  Get Name of Class of Object.vi   28.43KB   82 downloads
Attached File  LVOOP Property Popper.vi   60.36KB   58 downloads

[Code is in LabVIEW 2011]

Needs to be run in Project Environment.
Also, (if not open) probe window seems to flash briefly even tho it is set to hide, which is a cosmetic issue, no biggie.

WINNING!

P.S. - I will contact all authors and try to get this into a package, refactor it, then distribute it.
  • asbo and drjdpowell like this

#6 drjdpowell

drjdpowell

    The 500 club

  • Premium Member
  • 795 posts
  • Location:Oxford, UK
  • Version:LabVIEW 2011
  • Since:1999

Posted 16 January 2012 - 08:21 PM

Suggestion: Shouldn’t the “Get Name of Class of Object” VI get a default value of the object before flattening it? Since you don’t need the actual data flattened and it could take a long time if the object data is very large.
  • jgcode likes this

#7 jgcode

jgcode

    LabVIEW Renegade

  • OpenG
  • PipPipPipPipPipPip
  • 2,407 posts
  • Location:Australia
  • Version:LabVIEW 2009
  • Since:2005

Posted 17 January 2012 - 03:49 PM

This tool has been packaged up on the LAVA-CR
I will look at adding it to the LVTN in the near future.





Also tagged with one or more of these keywords: property node, lvoop, pop property