12-08-2015 10:45 AM
Hello All, in simple I am trying to implement this VI from five years ago:
https://decibel.ni.com/content/message/18955
Why am I doing this?
However I cannot replicate the behavior in his screen shot, specifically the Invoke node 'Save.Instrument and Callers Debug'.
Without this, Any subVIs saved by my method are unlinked from their parent VIs.
Is this a case of removed functionality or just hard to get at? Any other idea on how to rename SubVIs without breaking the links to Parent VIs?
Above the 2010 screenshot of the save.instrument invoke node. Bellow my code.
Solved! Go to Solution.
12-09-2015 10:03 AM
I believe your question may have been answered on this thread.
Specifically imaginatics answer:
"The other simpler way to do this is just to do your save-as new-name.vi starting from the bottom of your VI hierarchy and work to the top. If you rename a VI with it open, (not just rename in the operating system), then LabVIEW updates the callers, then when you rename and save them the already have the dependency reference changes for their subVIs, etc, etc til you save the topmost VI last."
12-09-2015 11:18 AM
@joesze wrote:
Is this a case of removed functionality or just hard to get at?
The blue header indicates it's a private method, so it's hidden and you can't get to it. As suggested, the preferred option is to recursively traverse the hierarchy from the top level VI down (using the VI's Callees[] property) and then do save as from the bottom up (and I would suggest once more over all VIs at the end in case you have weird dependencies). Also, if you have VIs in libraries be sure to save those.