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.
|Dependency Names||No||Returns 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 Paths||No||Returns the directory paths of VI dependencies.|
|Whole Hierarchy?||No||If 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?||No||Specifies 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.
|Static VI Refs?||No||If 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?||No||Specifies which VIs LabVIEW returns if the VI contains a dynamic dispatch subVI.
|Include Missing Items?||No||If 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?||No||If TRUE (default), LabVIEW returns subVIs, including polymorphic VI instances and instantiations of generic VIs.|
|Include Reentrant Clones?||No||Specifies whether LabVIEW returns clone VIs of reentrant VIs that are dependencies.
|Include Poly VIs?||No||If TRUE (default), LabVIEW returns polymorphic VIs.|
|Include Global VIs?||No||If TRUE (default), LabVIEW returns global VIs.|
|Include Control VIs?||No||If TRUE (default), LabVIEW returns type definitions and strict type definitions.|
|Include Generic VIs?||No||If TRUE (default), LabVIEW returns generic VIs.|
|Include Alternate Call Setups VIs||No||If 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.|
|Load Block Diagram?||No||If 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 type||No return value|
|Available in Run-Time Engine||Yes (Read/Write)|
|Available in Real-Time Operating System||Yes|
|Settable when the VI is running||Yes|
|Loads the front panel into memory||No|
|Need to authenticate before use||No|
|Loads the block diagram into memory||No|
|Remote access allowed||Yes|
|Must wait until user interface is idle||No|
|Available with control VIs||Yes|
|Available with global VIs||Yes|
|Available with strict type definitions||Yes|
|Available with polymorphic VIs||Yes|