02-26-2021 03:33 AM
If a channel wire writer endpoint is disabled, the VI fails to compile:
If the disable-structure is removed and a force-recompile is done (CTRL+Run), the Vi compiles
Can someone confirm? Either just open and test with the attached VI (same as picture above) or simply create a channel writer endpoint, connect the channel indicator to the connector pane and disable the endpoint.
I have tested both Stream and Messenger channels.
Tested on LV2021 SP1 and 2019 SP1
02-26-2021 06:57 AM
Hi thols,
yes, same "problem" in my VIs with channels.
Disable-structures do not yet support channels... 😕
Kaleck
01-17-2023 11:57 PM
01-18-2023 11:39 AM - edited 01-18-2023 12:19 PM
I'm surprised you got a CAR on this, this is expected behavior. I guess the CAR would result in a better error message.
Channel wires cannot be unterminated, that is, they cannot have a wire somewhere that does not end in an endpoint reader. You CAN use a case structure to disable the case that contains the endpoint. Disable structures remove that sub diagram from the compiled code which creates an invalid "block diagram" for the channel wire.
Edit: I'll clarify "expected behavior" as how channels are implemented to work and their rules for wire termination.
As stated, Channel Wires must be terminated. That is, every branch (for forkable types or just each end for unforkable) must have an endpoint present. Structures that have multiple cases (events, disable structures, case structures, etc.) only need to have the endpoint in a single case. DDS that removes code from the compilation results in Channel Wire rules being violated and since it's happening during compilation you're getting an unhelpful error message instead of the usual unterminated Channel Wire message.
01-19-2023 03:58 AM
01-19-2023 09:21 AM
Ahh I missed that it wasn't giving a broken run arrow earlier. I'm used to getting that error as soon as I save something.