Note The VI Analyzer tests are available only if you install and activate the LabVIEW VI Analyzer Toolkit. Refer to the NI website for more information about the VI Analyzer Toolkit.
Tests in the General category of VI Analyzer tests analyze aspects of VIs not covered in the Block Diagram, Documentation, or Front Panel categories. The VI Analyzer groups the General tests into three subcategories: File Properties, Icon and Connector Pane, and VI Properties.
File Properties
The tests in the following list analyze properties of the VI as a file, such as filename and size.
SubVI and TypeDef Locations—Checks that subVIs and type definitions reside in one of an arbitrary number of user-specified locations (paths and LLBs). If you do not specify a location, the test passes. The test does not check Express VIs on a block diagram.
VI Extension—Checks the filename extension. The test fails for any VI that does not have a .vi or .vit extension, or for any custom control that does not have a .ctl or .ctt extension. The test is case insensitive.
VI Name—Checks the name of a VI for potentially invalid characters.
VI Saved Version—Checks that the VI is saved in the most current version of LabVIEW.
VI Size—Compares the file size of a VI to the maximum allowable size you specify.
The tests in the following list analyze VI icon and connector pane style issues.
Connector Pane Alignment—Checks that inputs wire to connector pane terminals on the left side and that outputs wire to connector pane terminals on the right side.
Connector Pane Pattern—Checks that the connector pane pattern, regardless of rotation, matches one of the user-specified connector pane patterns.
Default Icon—Checks that VI icons of standard and polymorphic VIs are neither default nor empty.
Error Style—Checks that error connections appear in the lower-left and lower-right corners of the connector pane. This part of the test runs only if the connector pane wires a single error in and a single error out terminal. The test also checks whether an error case appears around the contents of the block diagram.
Full Connector Pane—Detects whether the connector pane is full. VIs should have extra connector pane terminals available for future expansion.
Icon Size and Border—Checks that the icon image is 32 × 32 pixels in size and has a solid border. The test does not check the icons of control or global VIs.
Polymorphic Terminals—Checks that terminals on all instances of a polymorphic VI appear in the same position on the connector pane of the instance VI. The test does not analyze broken polymorphic VIs.
Terminal Connection Type—Checks that controls and indicators on the connector pane that match user-specified names or patterns include the user-specified terminal connection type, such as required, recommended, or optional.
Terminal Positions—Checks that controls and indicators connected to a connector pane that match user-specified names or patterns are located in certain positions.
Built Application Compatibility—Checks for properties or methods that are not supported in built applications. Run this test on any VIs you want to build into an application to ensure they will function properly.
Control VI Type—Returns a failure if the Control VI Type does not match the user-specified type.
Driver Usage—Checks for subVIs, functions, or property nodes that are part of NI driver software packages. This test does not check for Express VIs that are part of the driver software packages.
Platform Portability—Checks for potential problems that might occur when you attempt to port a VI from one operating system to another.
Removed Diagram—Checks whether the block diagram is present. Do not remove a block diagram from a VI because you cannot recover it. You can password protect a VI if you do not want users to view the block diagram.
Toolkit Usage—Checks whether subVIs are NI toolkit VIs. When you distribute a VI that includes toolkit VIs as subVIs, each computer that runs the VI must have the toolkit VIs installed or the VI does not run correctly.
VI Lock State—Checks the lock state of a VI against the user-specified lock state(s).