VI Server Class Hierarchy

From LabVIEW Wiki
Jump to: navigation, search

The VI Server Class Hierarchy is the object-oriented organization of all of the classes available in the VI Server. These classes define all of the elements in the G language and is the backbone for properties, (accessible by property node), methods, (accessible by invoke node), and events. The hierarchy consists of the following classes:

Class Hierarchy Tree View

Click here for a tabular view of this data

Programmatic Access to the VI Server Class Hierarchy

Programmatic Access to the Classes

AllTypes[] property

Through VI Scripting the entire VI Server Class Hierarchy can be seen by accessing the All Types[] property of the ClassSpecifierConstant class. This property returns an array of clusters with each element of the array representing one class in the hierarchy. The cluster contains the following four elements about the class:

  • Unique ID string - This is the class ID of the class
  • Parent ID string - This is the Unique ID string of the Parent this class inherits from
  • Class Name (unlocalized) - This is the name of the class in English
  • Class Name (localized) - This is the name of the class in the language of the LabVIEW Integrated Development Environment (IDE)

Programmatic Access to the Properties

AllProps[] property

Through VI Scripting the all of the properties of a given class can be seen by accessing the All Supported Properties property of the Property class. Start by setting the property node to the desired class. Then, through scripting functions, get the reference to that property node and read the All Supported Properties property of it. It will return an array of clusters with each element of the array representing an acceptable property of the given class or of a class in its inheritance chain. The cluster contains the following for elements about the property:

  • Unique ID string - This is a unique ID for the property
  • Data Name - This is the data name of the property
  • Short Name (localized) - This is the name of the property as it would appear in a property node in the language of the LabVIEW IDE
  • Long Name (localized) - This is the name of the property as it would appear in a drop-down menus as the property was being selected and is in the language of the LabVIEW IDE

Programmatic Access to the Methods

AllMeths[] property

Through VI Scripting the all of the methods of a given class can be seen by accessing the All Supported Methods property of the Invoke class. Start by setting the invoke node to the desired class. Then, through scripting functions, get the reference to that invoke node and read the All Supported Methods property of it. It will return an array of clusters with each element of the array representing an acceptable method of the given class or of a class in its inheritance chain. The cluster contains the following for elements about the method:

  • Unique ID string - This is a unique ID for the method
  • Data Name - This is the data name of the method
  • Short Name (localized) - This is the name of the method as it would appear in a invoke node in the language of the LabVIEW IDE
  • Long Name (localized) - This is the name of the method as it would appear in a drop-down menus as the method was being selected and is in the language of the LabVIEW IDE

The VI Server Toolkit

Use the VI Server Toolkit from QSI to easily query the VI Server for Classes, Properties, Methods, and Events information. (Requires VI Scripting. The VI Server Toolkit is not for use in built applications.)

The Class Browser

The Class Browser is a built-in way to see the VI Server Classes, Properties and Methods. (See the Class Browser page for more information.)

History

Version Change(s)
LabVIEW 2019 The MapConstant class, SetConstant class, Map class, Set class, AssertStructuralTypeMismatchNode class, BuildMapNode class, BuildSetNode class, InPlaceMapNode class was added. The TargetStructureNode class was moved from being a child of the Structure class to being a child of the MultiFrameStructure class
LabVIEW 2018 The ExternalEditorWizard class was added.
LabVIEW 2016 The InPlaceVariantAttributeNode class, ClosureStructureNode class, RaceStructureNode class, and TargetStructureNode class was added.
LabVIEW 2010 VI Scripting officially released and supported in LabVIEW 2010.
LabVIEW 2009 Early entry for VI Scripting downloadable from the NI Tools Network for LabVIEW 8.6 and LabVIEW 2009.

External Links

References