LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Display message to user stops parallel loop

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.

0 Kudos
Message 1 of 3
(2,644 Views)

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.

0 Kudos
Message 2 of 3
(2,637 Views)

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

0 Kudos
Message 3 of 3
(2,581 Views)