lvb Posted February 19, 2013 Report Share Posted February 19, 2013 I am attempting to create a scripting VI that will replace missing VI's and other LabVIEW objects (type defs, classes). I would like to specify the fully qualified name of the old item and the path to the new item. Any tips on how to do this? At this point, I can Traverse for GObjects but am having some trouble identifying the properties of the missing VI's. The scripting nodes return the following error at the VI Name property node when the VI is missing: Error 1099 occurred at Property Node. Possible reason(s): LabVIEW: Scripting: SubVI is not loaded. Replace SubVI Test.vi Quote Link to comment
Darren Posted February 26, 2013 Report Share Posted February 26, 2013 If you read the VI Name property of a subVI and it returns error 1099, then it's a missing subVI. At that point, you could read the Label.Text property of the subVI to get the name of the missing VI being referenced. To my knowledge, there is no way to retrieve the fully qualified name of a missing subVI. Quote Link to comment
AndyS Posted March 9, 2020 Report Share Posted March 9, 2020 (edited) If the original VI does not exist any more, you can use the property "MissingVIName" to get its name (I'm using LV2019SP1). I created a VI that recursively replaces all missing VIs based on a lookup table. So far this works fine with missing VI but it does not work with missing *.ctl files (type def) for controls or constants because there is no "MissingTypeDef" property available. Does anybody have an idea how to get the missing ctl-file name? Thanks in advance! Edited March 9, 2020 by AndyS Quote Link to comment
hooovahh Posted March 9, 2020 Report Share Posted March 9, 2020 I don't have a solution to this but am interested in the topic. Darren also recently mentioned that this should work in 2020 for VIMs without the hacky work arounds found here. Quote Link to comment
Darren Posted March 10, 2020 Report Share Posted March 10, 2020 Unfortunately there is currently (as of LabVIEW 2019) no comparable functionality to the Missing VI Name/Missing VI Path from subVIs for typedefs, nor is this functionality going to be in LabVIEW 2020. I suggest posting this request on the LabVIEW Idea Exchange. It would be a useful feature for tooling like what you've described. Quote Link to comment
AndyS Posted March 11, 2020 Report Share Posted March 11, 2020 done, looking forward to KuDos https://forums.ni.com/t5/LabVIEW-Idea-Exchange/VI-Scripting-Add-property-quot-MissingFileName-quot-to-all/idi-p/4022884 Quote Link to comment
Darren Posted March 11, 2020 Report Share Posted March 11, 2020 Oops, looks like I missed when this feature went in. As AristosQueue mentioned in a reply to your Idea Exchange post, you can use the Dependencies > Missing Dependency Names and Dependencies > Missing Dependency Paths properties of the GObject class in LabVIEW 2015 and later. Can you verify that these properties give you want you need, and I'll close out the Idea Exchange post as Already Implemented? 1 Quote Link to comment
AndyS Posted March 23, 2020 Report Share Posted March 23, 2020 Yes - checked it and I can confirm that it is working 👍 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.