DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

Splash screen while LabVIEW is loading

Is there a way to create a splash screen that is displayed while LabVIEW is being called from DIAdem? It takes approx. 15-20 sec for LabVIEW to load and start my program. I would like a screen telling the user to wait and have some sort of animatin on the screen so the sees the compouter has not locked up. Once LV opens I need to close this screen or at least hide it behind the LV front panel until my VBS can close the panel.


Is this possible?

AJL
0 Kudos
Message 1 of 6
(4,363 Views)
Hi AJL,

I haven't done this before, but give this a try, it should work. Create a SUDialog with the background of the splashscreen you want. Then call the LV code through ActiveX from the SUDialog. When the LabVIEW VI starts up, have it create an empty file on pre-specified path. The SUDialog will poll that file path until it exists, then execute WndShow("SHELL", "MINIMIZE").

I'm pretty sure if you try to communicate back to DIAdem from LabVIEW that the SUDialog will have reserved DIAdem's OLE Automation Server, so that any LabVIEW commands won't execute until after the SUDialog ends. That's why the low-tech file polling.

Something like that ought to work,
Brad Turpin
DIAdem Product Support Engineer
National Instruments
0 Kudos
Message 2 of 6
(4,349 Views)
Brad, that sounds good but I have one problem. The panel is not displayed until after the "dialog initialize" has completed. Can this be changed or how can I run code not generated by a user event in a SUD? I tried a "Main" sub routine in the declaration statement but this ran before the "dialog initialize" so LV was called before the splash screen appeared.

Any ideas?

AJL
0 Kudos
Message 3 of 6
(4,333 Views)
Hi AJL,

Have you tried putting the function in the "General Declarations" section of the dialog and calling it in the "dialog.initialize" callback?

Or you could call it in the initialization callback of one of the front panel controls-- I think those get called after the dialog.initialize.

Let me know if that doesn't work,
Brad Turpin
DIAdem Product Support Engineer
National Instruments
0 Kudos
Message 4 of 6
(4,314 Views)
Brad, I do not have any front panel contols in the SUD. I tried putting the LV call in the general declarations but that runs before the dialog.initailize. The SUD front panel is not displayed until AFTER the dialog.initailize is completed so anything in the initalize or prior to the initalize is done BEFORE the SUD front panel is visible.
0 Kudos
Message 5 of 6
(4,314 Views)
Hi AJL,

To be honest, I'm passing off guesses as suggestions here, because I haven't set up the system you describe. If I were you, I would still try creating a front panel control, set it to invisible, and put the function call in the initialize callback of the invisible control. I don't know if that will fire after the dialog is visible, but it should fire after the dialog.initialize callback at least.

Brad Turpin
DIAdem Product Support Engineer
National Instruments
0 Kudos
Message 6 of 6
(4,307 Views)