I have an editor, displaying a config file. LabVIEW 6.1.
The screen shows an array of clusters, only one of which is showing at a time.
The cluster contains numerous elements, one of which is an enum labelled HARDWARE TYPE, which is an instance of a TypeDef (in a CTL file).
The cluster itself is a TypeDef called CHANNEL CONFIG, although I don't think that matters.
On the diagram, I need the value of the currently showing HARDWARE TYPE to decide to enable / disable other controls in the cluster.
Rather than indexing the array, and unbundling the element, I am using a property node for the control, and using the VALUE property to decide what to enable and disable. I am passing this value to a pair of subVIs (be
cause this is done in more than one place).
The subVIs have controls which are instances of this same HARDWARE TYPE TypeDef.
The whole thing works just perfectly.
My question is: Why do I have a type-coercion dot where the wire goes into the subVI(s) ??? Given that both ends of the wire are instances of the same TypeDef, what coercion is needed?
It does not matter if the TypeDef is strict or not. I have verified that all these things derive from the same root TypeDef.
I can copy the front panel control onto a new VI, put the subVI on a new diagram, and connect them without coercion. Why does the VALUE PROPERTY require a coercion?