User Interface on Front Panel Locks up When Using Event Structures

Updated Oct 18, 2018

Reported In

Software

  • LabVIEW Full
  • LabVIEW Professional

Issue Details

My user interface on the front panel locks up when using event structures. All my controls seem disabled and my graphs and indicators don't seem to update. My stop button does not stop the program from executing. Why is this happening?

Solution

When a front panel object event occurs that has been registered in an event structure event case, the front panel, by default, locks until the object's event case completes execution. Due to this, problems can arise when executing time intensive operations, while loops, and/or event structures inside of the event case. The front panel can appear to be frozen or disabled, but really the event case just has not finished executing. This default feature can be turned off individually for each event case. Do this by completing the following: 
  1. Right-Click on the event structure border
  2. Select Edit Events Handled By This Case... from the menu
  3. Uncheck the box at the bottom of the window that says Lock panel (defer processing of user actions) until the case for this event completes as shown below 
 

This will make it so the front panel does not appear to lock.

Additional Information


If removing the check in this checkbox does not resolve the behaviour, right-click the event structure and open the Event Inspector Window to check if there are duplicate events loaded in the event queue for a single trigger. Below you can see that clicking the stop 47.2 boolean, caused multiple events to be triggered and loaded into the queue, freezing the user interface.

 
This causes front panel controls to freeze since these duplicate events have not finished executing yet and are stuck in the queue. This can occur if one has multiple event structures in a while loop and mistakenly assigned multiple identical events for a front panel control. 

While these solutions may work, a better solution for programs with time intensive processes is to design your programming using a Producer/Consumer design pattern.

WAS THIS ARTICLE HELPFUL?

Not Helpful