Configure VIs and Controls Page (Import Shared Library Wizard)
Requires: Base Development System
Use this page of the Import Shared Library wizard to configure the VIs and controls the wizard generates. Select Tools»Import»Shared Library to launch the Import Shared Library wizard.
The components this page contains depend on whether you select a function or control in the Functions Tree, as well as on the data type of the control you select.
Functions Tree—Lists all the functions for which you want the wizard to create wrapper VIs.
Settings—Specifies settings for the VIs and controls the wizard generates. This tab includes the following options when you select a function in the Functions Tree:
VI Execution Properties—Specifies execution properties of the generated wrapper VI.
Reentrant Execution—Enables a VI to be called by more than one caller. Normally, a VI can only be called by one caller at a time. However, if you want two callers to be able to call the same VI simultaneously, place a checkmark in the Reentrant execution checkbox.
Preferred Execution System—Sets the preferred execution system for the wrapper VI. LabVIEW supports multiple simultaneous execution systems. On some platforms, a VI running in one execution system also can run in the middle of a VI running in another execution system. This allows higher priority tasks, such as data acquisition loops, to interrupt long operations, such as slow calculations. Select Other if you want to use a user-defined system.
Thread—Specifies whether the generated wrapper VI runs in the LabVIEW UI thread or the execution thread of the caller VI.
Run in UI thread—Select this option if you want the wrapper VI to run in the LabVIEW UI thread. Run in UI thread specifies the Call Library Function Node execution must switch from the current thread to the user interface thread. Execution in the UI thread of a LabVIEW-built shared library that is dynamically loaded using Specify path on diagram causes LabVIEW to hang.
Run in any thread—Specifies the Call Library Function execution continues on the current thread executing the VI. You must make sure that multiple threads can call the function simultaneously. Select this option if you want the wrapper VI to run in the execution thread of the caller VI.
Note All calls to LabVIEW-built shared libraries should specify Run in any thread. If you configure the Call Library Function Node using LabVIEW-built shared libraries and specify Run in UI thread, LabVIEW might hang and require you to restart.
Calling Convention—(Windows) Specifies the calling convention for the function. The default is C.
Caution Using the incorrect calling convention may cause an irregular shutdown of LabVIEW.
stdcall (WINAPI)—(Windows) Controls whether the object uses the standard calling convention.
C—(Windows) Controls whether the object uses the C calling convention.
Apply to All—Applies the calling convention of the current function to all functions in the shared library.
Declaration in Header File—Specifies the declaration in the header file.
Fundamental Data Type—Specifies the data type of the function according to the header file.
Settings—Specifies settings for the VIs and controls the wizard generates. This tab includes the following options when you select a control in the Functions Tree:
Control Type—Specifies the data type of the control. You can select from Void, Numeric, Boolean, String, Cluster, or Custom Control.
Note You can select one of only Void, Numeric, or String for function returns. You can select one of Numeric, Boolean, String, Cluster, or Custom Control for parameters.
Input / Output—Specifies whether the control is an input, output, or both.
Input—Specifies the input on the VI that must change for the VI to run.
Output—Specifies whether the control is an output.
Create Indicator—Specifies whether the generated VIs contain indicators for the Output control.
Input & Output—Specifies whether the control is both an input and an output.
Apply to All Matching Parameters—Applies the type settings, except Input / Output, of the current parameter to all function parameters in the shared library that match the declaration in the header file.
Declaration in Header File—Specifies the declaration in the header file.
Fundamental Data Type—Specifies the data type of the control in the original shared library file.
Settings—Specifies settings for the VIs and controls the wizard generates. This tab includes the following additional options when you select Numeric in the Control Type pull-down menu.
Pass Type—Specifies the pass type for the parameter you select. This option is available only with numeric controls. You can select from Pass by Value, Pass by Pointer, or Pass by Array.
Pass by Value—Passes the value of the parameter by value. The Default Value field appears when you select this option.
Pass by Pointer—Passes the value of the parameter by pointer. The Default Value field appears when you select this option.
Pass by Array—Passes the value of the parameter by array. The Array Size Type and Array Size fields appear when you select this option.
Array Size Type—Specifies the type of the array size. This option is available only with numeric controls that are Pass by Array. Set Input/Output to Output to enable this field.
Constant Value—Select this option if the array size is a constant value. The Array Size field appears when you select this option.
Parameter—Select this option if the array size is a parameter. The Array Size Parameter field appears when you select this option.
Array Size—Specifies the size of the array. This option is available only with numeric controls that are Pass by Array and for which you specify Constant Value for Array Size Type.
Array Size Parameter—Specifies the size of the array. This option is available only with numeric controls that are Pass by Array and for which you specify Parameter for Array Size Type.
Default Value—Specifies the default value for the numeric control. This option is available only with controls that are Pass by Value or Pass by Pointer.
Representation—Specifies the representation for the numeric control. Representation can be any numeric data type that LabVIEW supports.
Settings—Specifies settings for the VIs and controls the wizard generates. This tab includes the following additional options when you select Boolean in the Control Type pull-down menu.
Boolean Default Value—Specifies the default value for the Boolean control. You can select True or False.
Settings—Specifies settings for the VIs and controls the wizard generates. This tab includes the following additional options when you select String in the Control Type pull-down menu.
String Default Value—Specifies the default value of the string. Set Input/Output to Input or Input & Output to enable this field.
String Size Parameter—Specifies the size of the string. This option appears only if you set String Size Type to Parameter. If you set Input/Output to Output, this value initializes the string.
String Size—Specifies the size of the string. This option appears only if you set String Size Type to Constant Value.
String Size Type—Specifies whether to use a parameter of the VI or a constant value to indicate the string size.
Constant Value—Select this option if the string size is a constant value. The String Size field appears when you select this option.
Parameter—Select this option if the string size is a parameter. The String Size Parameter field appears when you select this option.
Settings—Specifies settings for the VIs and controls the wizard generates. This tab includes the following additional options when you select Custom Control in the Control Type pull-down menu.
Path to Custom Control —Specifies the path to the custom control.
Settings—Specifies settings for the VIs and controls the wizard generates. This tab includes the following options when you select a structure that contains a pointer from the Functions Tree:
Allocate memory for this pointer element in LabVIEW before calling the function—Specifies whether to allocate memory for the pointer element before LabVIEW passes the structure that contains the pointer into the function.
Memory Size—Specifies the size of the memory to allocate for the pointer in bytes.
Default string to initialize the pointer—Specifies the string to use to initialize the string pointer inside the structure.
Pass the value into wrapper VI—Specifies whether to pass the value to which the pointer points into the wrapper VI.
Name and Description—Specifies the name and description for the function or control you select in the Functions Tree. This tab includes the following options:
Control/VI Name—Specifies the name of the wrapper VI or custom control that LabVIEW creates.
Control/VI Description—Specifies a description for the wrapper VI or custom control.