LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
RavensFan

Ignore SubVI's

Status: Completed
Available in LabVIEW 2011

When loading a VI where some or many of the VI's are missing (like a forum post where the person used 3rd party driver subVI's you don't have or used numerous subVI's and typedef's that they did not bundle into their attachments) you have to click ignore on each subVI as it comes up with the dialog box as it searches for it on your system.  If there are only a few such subVI's, it is no big deal.  But some people will be missing dozens of VI's, and you have to continually click ignore over and over again until the main VI loads broken.

 

It would be good if that dialog box had an Ignore All button, so that once you come across the first subVI it can't find, it will ignore it and all other subVI's it can't find.  Then the main VI can load in it broken state in just one or two clicks.

14 Comments
altenbach
Knight of NI

The problem is that the "browse for VI" popup stops everything in it's tracks. If you are fast at playing whack-a-mole, you might be able to cancel the search at the loading dialog, before the modal browse dialog that prevents interaction with anything else.

 

The problem will get more serious in the future, with faster computers and HDs (e.g. SSD), where the popup will fire in such rapid succession that you never have time to stop!!! 😄

 

Again, if you are fast enought, you can also stop loading, but that's often not a good option. Especially if there are express VIs, and they only load partially, you might get the dreaded popup telling you that the LabVIEW installation is corrupt and you should reinstall (which is of course not true, the only problem was that an express VI got interrrupted during loading).

 

Long ago I wrote elsewhere:

 

"One idea would be to have the loader tentatively ignore any VI that cannot be found in the search locations and place its name in a growing table of missing VIs on the loading window, while continuing to load existing subVIs. Once activity has stopped, I can now click on items in the list to locate them manually (any newly loaded VI might again add more missing VIs to the list). However, at any time I can also press a button to ignore all remaining missing VIs and just go to the main VI."

 

My laptop has no DAQMX installed, so I should be able to globally skip any and all subVIs related to DAQ.

Message Edited by altenbach on 07-06-2009 03:47 PM
Message Edited by altenbach on 07-06-2009 03:52 PM
AristosQueue (NI)
NI Employee (retired)

This is a good idea. While we're waiting for this idea to see the light of day in some future LV version, you may be interested in a VI I posted today:

 

http://lavag.org/topic/10362-heres-a-way-to-open-vis-without-file-dialogs-for-missing-subvis/

 

RavensFan
Knight of NI

You're correct, Christian.  On all the PC's I've used LabVIEW on, the search seems to take long enough that I can realize it is a missing subVI and click on ignore before the browse dialog pops up.  But maybe that won't always be the case.  I see two options.

 

1.  Also add the Ignore All to the Browse dialog.  Though I don't know if this would be possible since the dialog box seems like it might either be a Windows base dialog box, or at least a common dialog that is library based within LabVIEW.

 

2.  Have the load routine detect that you clicked Cancel in the browse dialog and pop up with a dialog asking whether you want to ignore all future can't find subVI instances or not.

lsn
Member
Member

i am too agree with Ravens' comment. Infact it is quite annoying while loading a 'large' project and when the subVIs are not located.

Infact as Alten's solution seems to be the best for such situation.

 

xcEric
Member
I would like to see this extended to the Open VI Reference function as an optional input. It would be nice to only load the desired VI and not the entire hierarchy when trying to retreive information that is only pertinent to the top-level VI, like the VI description, or icon. This could drastically speed up programs that document VI information for large projects.
Eric
--
"When I see an adult on a bicycle, I do not despair for the future of the human race."
-H.G. Wells
silmaril
Member

xcEric: I agree with what you say.

Let me just make this a bit more clear: there should be several "stages" of this option:

1) Load the VI and all it's descendants (just the way it works now).

2) Load the VI and all it's descendants thatcan be found automatically (results in a broken VI if anything is missing).

3) Load the VI but no subVIs at all (results in a broken VI for any VI that has at least one subVI).

 

The last method would be perfect for tools that only need the top level VI, such as front panel documentationor translation tools.

Maybe we could dig even deeper and have options to load only the block diagramm without filling the RAM up with things like block diagramm, code or data space?

 

Jarrod_S.
Active Participant
I wish I could Kudo this idea more than once. I'd rather click Kudo on this idea 100 times rather than Ignore SubVI 100,000 times!
Jarrod S.
National Instruments
Al.B
NI Employee (retired)

Something similar does exist:

 

1. When it is loading dependancies, click Stop...

2. You will get a prompt to continue loading without thesubVIs.  Click Yes

3. The VI will then load with '?'s for the subVIs.

 

This will cause you to lose the dependancies that are available but have not been loaded yet, but it will allow you to quickly open the VI.

 

loadwithoutsubVIs.PNG

 

Message Edited by Al B on 12-09-2009 02:30 PM
Al B.
Staff Software Engineer - TestStand
CTA/CLD
THailey3
Active Participant
Status changed to: In Development
 
Travis H.
LabVIEW R&D
National Instruments
ajmayer
Member

Perhaps better yet, how about a utility to help you deal with missing vis rather than waiting and dealing one at a time.