09-08-2015 03:28 PM
I don't know if this is a possible bug, or just unintended usage. I am making some VIs using scripting, and I need to make a VI that has a constant that describes the type of a connector pane which goes into the Open VI Reference Type terminal. I get this VI reference from a terminal of a subVI and the type is not known and can change. This is fine and when it does I want my code to go and create the VI reference constant again with the new connector pane settings.
When I create a constant off of the Open VI Reference terminal I specify the constant with a variant but when the constant is made it looses its strict-ness on the constant and is now just a normal VI reference. But if I use the private scripting function on the block diagram giving the same variant data type, the constant is made and the strictness is preserved. Is this a bug? Attached is a VI that demonstrates the difference between the two methods.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
16 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
09-09-2015 01:44 PM
It's not a bug; but expected behavior.
With the "Create Constant" method for the diagram, what you're feeding in is the "DataType". So the method creates that data type.
With the "Create Constant" method for the terminal, what you're feeding in is the data "value" only. The type is taken from the terminal. The result is exactly the same as if you had right-clicked on the terminal and created a constant.
09-09-2015 02:46 PM
...okay I guess I can agree with your reasoning. I would just expect that if I'm creating a constant and I give it a variant, then it would make a constant of that type I passed. But obviously this only takes the value, and it gets the type from the terminal. Guess I'll be using the private method of creating a constant of the type I want.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
16 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord