The asynchronous methods require strictly typed VIs. Strictly typed VIs depend on the connector pane and terminal wiring type (Required, Recommended, Optional). Depending on your development environment and configuration options (Front Panel > Connector pane terminals default to required), newly connected terminals may be Required -or- Recommended.
Opening a VI reference or calling an async method with the wrong terminal wiring type will result in Error 1057: Type mismatch.
To work around the connector pane variance, we need to type cast check every connector pane terminal variance in order to call the proper async method without getting the Type Mismatch error.
The amount of unnecessary complexity to call and collect a thread is infuriating. There is already enough complexity when it comes to spawning a new threads; between the conditional options (Non-Reentrant, Reentrant, Async Forget, Async Collect), VI type specifier (Generic, Strict), Connector Pane Type (Pattern, Rotation), Terminal Wiring Types (Required, Recommended, Optional), etc. Threading in LabVIEW needs improvement.
To better support Asynchronous calls, we need the ability type cast the required strictly typed VIs to:
1. Add an option to Start Asynchronous Call and Wait on Asynchronous Call methods to ignore the VI terminal wiring type flags:
Required (0x21000), Recommended (0x20800), Optional (0x20000)
2. Support type casting VIs To More Generic Type and To More Specific Type to avoid the error 1057 Type Mismatch all together
Regards,
A LabVIEW Enthusiast
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.