Get VI Dependencies (Names and Paths) Method

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.

Parameters

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, LabVIEW returns subVIs, including polymorphic VI instances and instantiations of generic VIs. The default is FALSE.
Include Reentrant Clones?NoSpecifies whether LabVIEW returns clone VIs of reentrant VIs that are dependencies.

0Include the clone VI (default)
1Include the original reentrant VI instead of the clone VI
2Include both the original reentrant VI and the clone VI
Include Poly VIs?NoIf TRUE, LabVIEW returns polymorphic VIs. The default is FALSE.
Include Global VIs?NoIf TRUE, LabVIEW returns global VIs. The default is FALSE.
Include Control VIs?NoIf TRUE, LabVIEW returns type definitions and strict type definitions. The default is FALSE.
Include Generic VIs?NoIf TRUE, LabVIEW returns generic VIs. The default is FALSE.
Include Alternate Call Setups VIsNoIf TRUE, 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. The default is FALSE.
Keep Express and Malleable VIs?NoIf FALSE (default), LabVIEW returns the names of the hidden instance VIs that underlie the Express VIs and malleable VIs. If TRUE, LabVIEW returns the Express VIs and malleable VIs as dependencies. If you want edit-time dependencies, set Keep Express and Malleable VIs? to TRUE. If you want run-time dependencies, set Keep Express and Malleable VIs? to FALSE. Regardless of this setting, LabVIEW includes the subVIs of the instance VIs as dependencies of 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.

Remarks

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