03-10-2016 09:49 AM
Ok, there is definitely something weird going on here. If I put the "Release Notifier" block inside of the Sequence Block, it works.
Combine this with the Designator problem, which is also solved by putting a local variable to the "Designator" control inside of the sequence, and the rule seems to be: don't write to anything unless it's inside of a sequence block.
03-10-2016 12:55 PM
@pblase wrote:Combine this with the Designator problem, which is also solved by putting a local variable to the "Designator" control inside of the sequence, and the rule seems to be: don't write to anything unless it's inside of a sequence block.
The rule is, if things must happen in a specific order, enforce that order. You have two threads racing to destroy a Notifier reference (note you "Force destroy" input in your main VI) and one thread racing to load a front panel before another sets an indicator on that not-yet-created front panel.
03-11-2016 08:17 AM
But there are two different references. The subpanel is only destroying the reference that it obtains locally, and the main thread doesn't destroy the thread until after it has received the answer back from the subvi. And this doesn't explain the control behavior.
03-11-2016 08:48 AM
and the main thread doesn't destroy the thread until after it has received the answer back from the subvi.
The main thread potentially force-destroys the subVIs notifier before the subVI releases it (why are you force destroying anyway?).
And this doesn't explain the control behavior.
You can't do something to the front panel till the front panel is loaded.