Get VI Dependencies (Names and Paths) Method

FlexRIO Help

Edition Date: November 2015

Part Number: 372614J-01

»View Product Info

»Download the Help in ZIP Format

Short Name: Get VI Dependencies

Requires: Base Development System

Class: VI Methods

To Use: Create a method.

This method returns the names and paths of the VI dependencies of a VI. You can use this method to return a specific subset of the total set of VI dependencies of a VI. This method does not return non-VI dependencies, such as project libraries, XControls, classes, and statecharts.

LabVIEW combines the parameter values you specify using the logical AND operator to determine which dependencies to return. For example, you must pass TRUE to both Static VI Refs? and Include Control VIs? in order for LabVIEW to return a static VI reference to a custom control or indicator.

By default, this method does not load the block diagram into memory. However, if you specify certain input values, LabVIEW loads the block diagram.


Data typeNameRequiredDescription
Dependency NamesNoReturns the fully qualified names, which include the names of owning project libraries, of VI dependencies. This parameter is similar to the This VI's SubVIs item in the View Menu.
Dependency PathsNoReturns the directory paths of VI dependencies.
Whole Hierarchy?NoIf FALSE (default), LabVIEW returns only the dependencies of the current VI. If TRUE, LabVIEW returns all dependencies for the entire VI hierarchy. Use the TRUE case to perform hierarchy traversals without having to implement recursion detection yourself.
Commented Out Diagrams?NoSpecifies whether LabVIEW returns dependencies that LabVIEW does not invoke, such as those in the Disable case of a Diagram Disable structure. Also, if you wire a constant to the selector terminal of a Case structure, LabVIEW considers dependencies in non-executing cases to be commented out and does not invoke them.

0Only include commented out diagrams if diagram already loaded
1Never include commented out diagrams (default)
2Always include commented out diagrams—This option causes LabVIEW to load the block diagrams of VI dependencies. If a block diagram requires a password not currently in the LabVIEW password cache, LabVIEW returns an error.
Static VI Refs?NoIf TRUE, LabVIEW returns VIs referenced with Static VI Reference functions, including the top-level VI if it contains a reference to itself. The default is FALSE.
Dynamic Dispatching?NoSpecifies which VIs LabVIEW returns if the VI contains a dynamic dispatch subVI.

0No dynamic dispatch VIs (default)
1Include nearest implementation—Returns only the VI whose icon LabVIEW display on the node. This VI is the implementation nearest to the wired class data type.
2Include all overrides—Returns all VIs currently in memory to which the node could dispatch at run time.
Include Missing Items?NoIf TRUE, LabVIEW returns names and paths for any missing dependencies. LabVIEW returns dependencies as missing if they are corrupt, saved in a later version of LabVIEW, or if they cannot be found on disk. Since the types of missing dependencies are unknown, LabVIEW returns missing dependencies regardless of how you configure other parameters. The default is FALSE.
Include Standard VIs?NoIf TRUE (default), LabVIEW returns subVIs, including polymorphic VI instances and instantiations of generic VIs.
Include Reentrant Clones?NoSpecifies whether LabVIEW returns clone VIs of reentrant VIs that are dependencies.

0Include the clone VI
1Include the original reentrant VI instead of the clone VI (default)
2Include both the original reentrant VI and the clone VI
Include Poly VIs?NoIf TRUE (default), LabVIEW returns polymorphic VIs.
Include Global VIs?NoIf TRUE (default), LabVIEW returns global VIs.
Include Control VIs?NoIf TRUE (default), LabVIEW returns type definitions and strict type definitions.
Include Generic VIs?NoIf TRUE (default), LabVIEW returns generic VIs.
Include Alternate Call Setups VIsNoIf TRUE (default), LabVIEW returns subVI calls that use the alternative Call Setup options, such as Reload for each call or Load and retain on first call. Because these VIs are dynamically loaded, they may or may not be in memory. To include any VIs missing from memory, set the Include Missing Items to TRUE. To bring any missing items into memory in a development environment, set Load Block Diagram to TRUE.
Keep Express VIs?NoIf TRUE, LabVIEW returns Express VIs as dependencies. If you want edit-time Express VI dependencies, set Keep Express VIs? to TRUE. If you want run-time Express VI dependencies, set Keep Express VIs? to FALSE. Regardless of this setting, LabVIEW returns any subVI calls that the Express VI scripts into the referenced VI.
Load Block Diagram?NoIf TRUE, LabVIEW loads this VI block diagram before it evaluates whether any dependencies exist. If you open a block diagram from a location that is different from the location in which it is originally saved, LabVIEW may load new subVIs into memory. This may affect the Include Alternate Call Setup VIs? option. The default is FALSE.


The following table lists the characteristics of this method.

Data typeNo return value
Available in Run-Time EngineYes (Read/Write)
Available in Real-Time Operating SystemYes
Settable when the VI is runningYes
Loads the front panel into memoryNo
Need to authenticate before useNo
Loads the block diagram into memoryNo
Remote access allowedYes
Must wait until user interface is idleNo
Available with control VIsYes
Available with global VIsYes
Available with strict type definitionsYes
Available with polymorphic VIsYes


Not Helpful