|Download Help (Windows Only)|
A malleable VI (.vim) is a VI that is inlined into its calling VI and can adapt each terminal to its corresponding input data type. With malleable VIs, you build a VI to perform the same operation on any acceptable data type instead of saving a separate copy of the VI for each data type. The malleable VIs that LabVIEW provides have orange backgrounds.
All terminals of malleable VIs are polymorphic. Each time you wire an input data type to a terminal, type propagation runs to check if the wired type is acceptable. If type propagation errors are not detected, the malleable VI adapts the terminal to the input data type. For example, the Sort 2D Array VI is a malleable VI. The 2D array input accepts an array of any data type except refnums. The index input accepts a signed 32-bit integer or an array of signed 32-bit integers.
Malleable VIs differ from polymorphic VIs in the following ways:
Use malleable VIs when you perform the same operation on any acceptable data type and the operation can be implemented in the same way for different data types. To perform the same operation on a predefined set of data types or if the operation must be implemented differently across data types, use polymorphic VIs instead.
Refer to the labview\examples\Malleable VIs\Basics\Malleable VIs Basics.lvproj for an example of using malleable VIs.