LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
Ljubo

Abort VI dialogs (modal windows)

Status: New

When I use dialogs it happens that I have to edit a dialog (SubVI) and its caller at the same time (an example is attached). Suppose both VIs are opened. If I want to test a caller and if I run it a dialog (Sub VI) will also run. It's not possible to control any of them anymore.

The shortcut CTRL+. does not work. Emergency VI aborter neither. The most popular Microsoft key combination CTRL+ALT+DELETE works, of course. Fortunately LabView recovery procedure also works reliably.

 

 LabView development environment should allow to abort any VI: modal or non-modal window. Project explorer window should always be available.

 

Download All
5 Comments
hfettig
Member

This has happened to me so many times I stopped counting and then I stopped making the dialogs modal using the VI properties window.

I now have all my dialogs set to "default" behaviour in the VI Properties Window.

In the "Init" state of my code I then use a property node to set the behaviour to "modal" and in the "Exit" state I set the behaviour back to "default".

This way my dialog runs as modal but at edit time and "accidental" runs it behaves like a normal window.

 

Nevertheless it would be great if there were a way to abort a dead-locked GUI/Dialog combination as you describe it.

tst
Knight of NI Knight of NI
Knight of NI
Heiko, you can set the properties for every VI in the build so that it will have the modal property only in the EXE. The problem is that you have to remember to do this when configuring the build.

___________________
Try to take over the world!
ReneW
Member

I think that there should be implemented something to deactivate the modal behavior temporally if an open modal dialogue is blocking the whole application.

It is very upsetting if I have to kill an complex LV application with many open windows while I am debugging my (too complex) application.

Ljubo
Member

It seems that SimonH has found a solution. Make a copy of "EasyVIAborterAuto.vi" on your computer. When LV hangs you can double-click it. It will run when opened and stop all running VIs including modal.

GriffinRU
Member

Steps to Kill Modal Window:

  • Find window (user32.dll FindWindow)
  • set new parent (user32.dll SetParent)
  • Abort vi (LabVIEW Abort VI)
  • set old parent back (user32.dll SetParent)

Quick and dirty implementation:

LabVIEW Killer.png

-Artur