> Bug or feature? Any workaround?
>
Both.
Indicators that are on the connector pane of a subVI must always return
a value. Problem is that since the diagram can have case statements, it
is possible for the diagram to run and never write to the indicator.
This was deemed a bad thing and it was decided that these "conditional
indicators" should return a default value if they weren't written to.
This writing happens at the last minute, after the diagram completes.
Each conditional indicator has a flag in it that is cleared before the
subVI runs and is set when the indicator is written to. If still clear
at subVI completion, the default is written to the indicator. When
local variables were added, and later when multithreading was added,
there
were some bugs introduced and later fixed. I don't believe the
behavior should be different depending on whether the panel is open.
It would be best if you would email technical support and tell them the
version of LV you are using, list out the steps, and they can tell you
if the bug was already known about and which version it was fixed by.
In the meantime, I'd recommend taking the locals and indicators taken
out of the case statement. Wire a default value of the case statement
or through the case statement and to the terminal or local.
Greg McKaskle