04-20-2018 01:05 PM
If I have two parallel loops running with a display message to user in each loop both loops stop when one of the pop ups is used.
Why is this? If I replace one of the display message vis with a one button dialog and a case structure this does not occur. Does this have to do with the use of an express vi?
I have uploaded an example to illustrate the issue.
04-20-2018 01:17 PM - edited 04-20-2018 01:41 PM
Looks like the inner VI of the dialog express VI is not reentrant, thus blocking both loops. Looks like a bug. I rarely use express VIs, so I would recommend to stay with the regular one-button dialog inside a case structure.
Alternatively, you could wrap each into a case structure wired to the "enable" boolean.
04-21-2018 12:16 PM
As is almost always the case, Altenbach is right -- the Express VIs call a "deeper" function to do the work, and that function is not reentrant. I won't say why I believe Express VIs were invented (it is slightly derogatory), but I'm pretty sure the One-Button Dialog will work.
Yep, that works. Replace Express VI with one-button dialog, wire Test to a surrounding Case Statement (so the Dialog executes when True). Bonus -- delete the Express VI in Loop 2, Copy/Drag Test + Case down into Loop 2 (which will create a second Test button, called "Test 2"), and run. Now you can push Test and get Message 1, click OK and Loop 1 continues, push Test 2 and get Message 2.
Bob "It's Often Easier without Express VIs" Schor