Company Events Academic Community Support Solutions Products & Services Contact NI MyNI

To More Specific Class

LabVIEW 8.2 Help
August 2006

NI Part Number:
371361B-01

»View Product Info
Download Help (Windows Only)

Typecasts a reference, such as a control or a type definition, to a more specific class in the inheritance hierarchy. For example, if Class A inherits from Class B, a variable of type B can hold a value of type A. You can use the function to downcast from type B to type A. If the typecast is invalid, this function returns an error at run time.

Note  You can use the To More Specific Class function for casting any class hierarchy in LabVIEW, including VI Server refnums, .NET/ActiveX refnums, and LabVIEW classes.

Details  Example

target class is the class to which you want to downcast reference. You can wire a class specifier constant or any wire of the target type to this input.
reference is the refnum or LabVIEW class to downcast.
error in describes error conditions that occur before this VI or function runs. The default is no error. If an error occurred before this VI or function runs, the VI or function passes the error in value to error out. This VI or function runs normally only if no error occurred before this VI or function runs. If an error occurs while this VI or function runs, it runs normally and sets its own error status in error out. Use the Simple Error Handler or General Error Handler VIs to display the description of the error code. Use error in and error out to check errors and to specify execution order by wiring error out from one node to error in of the next node.
status is TRUE (X) if an error occurred before this VI or function ran or FALSE (checkmark) to indicate a warning or that no error occurred before this VI or function ran. The default is FALSE.
code is the error or warning code. The default is 0. If status is TRUE, code is a nonzero error code. If status is FALSE, code is 0 or a warning code.
source specifies the origin of the error or warning and is, in most cases, the name of the VI or function that produced the error or warning. The default is an empty string.
specific class reference is the downcasted control reference or .NET reference. If the target class is incompatible with the reference, the function returns an error and specific class reference is Not A Refnum.
error out contains error information. If error in indicates that an error occurred before this VI or function ran, error out contains the same error information. Otherwise, it describes the error status that this VI or function produces. Right-click the error out front panel indicator and select Explain Error from the shortcut menu for more information about the error.
status is TRUE (X) if an error occurred or FALSE (checkmark) to indicate a warning or that no error occurred.
code is the error or warning code. If status is TRUE, code is a nonzero error code. If status is FALSE, code is 0 or a warning code.
source describes the origin of the error or warning and is, in most cases, the name of the VI or function that produced the error or warning.

To More Specific Class Details

You can use the To More Specific Class function to manipulate the properties or methods from a more specific class than that of the reference. For example, if you build an array of references to boolean, numeric, and string controls, LabVIEW casts these references to the more generic Control class because an array can contain only one data type, and each of these controls is a member of the Control class. If you then want to manipulate the properties for only the boolean controls in the array, you can create a reference to the array and use the To More Specific Class function to downcast the array reference to the Boolean class.

Wire a VI refnum to reference and a FacadeVI refnum to target class to downcast from VI to FacadeVI.

Example

Refer to the Using To More Specific Function VI in the labview\examples\viserver\To More Specific Function directory for an example of using the To More Specific Class function.

 


Resources

WAS THIS ARTICLE HELPFUL?

Not Helpful