Actor Framework Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Hide Launcher.vi for root actor?

Solved!
Go to solution

I'm new to AF and have been following various guides around the Internet. To kick off my root actor, I followed the guide from Bloomy[1] to create a Launcher.vi. Startup sequence is: Launcher.vi > UI Actor > Hardware Control Actor. The user interacts with Actor Core of UI Actor. This is all working.

 

Before using the AF, a user could simply open & run the UI front panel, and I could launch that VI during EXE startup. With AF, there is always an empty Launcher.vi front panel, which is clunky for the user. Is there some way to hide this VI, or some way to launch the UI Actor directly?

 

[1] http://www.bloomy.com/support/blog/getting-started-actor-framework-part-i

0 Kudos
Message 1 of 7
(4,192 Views)

Without LabVIEW to hand, I can't check for certain, but I'd guess that Property Nodes to (optionally hide and then) close the front panel when the Actor is launched would work for you?

 

An alternative is to provide some sort of 'loading' icon on the front panel until the Actor is launched and the VI finishes, then go ahead with the close node.

 

I think there should be an example somewhere (sorry for no link) showing doing this with a Conditional Disable Structure checking the Runtime status (i.e. Close if runtime (exe), and don't close if not (Dev env)) 


GCentral
0 Kudos
Message 2 of 7
(4,185 Views)

Thanks, that's definitely a good workaround for now. I implemented FP.State = Hidden, Launch UI Actor, FP.Close, which still flashes the launcher to the user momentarily. I'd like to keep the discussion open to see if theres some way to truly hide or bypass the launcher.

0 Kudos
Message 3 of 7
(4,169 Views)
Solution
Accepted by topic author OneOfTheDans

On your launcher VI,

  • VI Properties > Window Appearance > Custom > Customize…
    • Set Transparency to 100
  • VI Properties > Window Run-Time Position
    • Set Position to Minimized

If you do both of those, the app will launch and user will not see a window. If you also do this:

  • VI Properties > Window Appearance > Custom > Customize…
    • Uncheck Allow user to minimize window (OS won’t show a button on taskbar)

Then the user won't even see an item in the task bar. I know this works in Win7 and earlier. I do not know about Win 8 or 10 (but I think it works there also).

Message 4 of 7
(4,150 Views)

Clever, thanks! This works great for the EXE. I still see the window pop up briefly in the dev environment (Win7 over RDP), but that's fine.

 

Does "the industry" use this approach of hiding the launcher? Or do people stick with some type of splash screen instead? Maybe the there's a different approach altogether?

0 Kudos
Message 5 of 7
(4,118 Views)

To the best of my knowledge, this is the only way to do it in LV.

Probably we should make it a checkbox in building an EXE so people don't have to discover it. Something like:

[   ] Do not initially show the top-level VI's front panel. Warning: If you enable this, no panel will show up when you run your EXE. You will need to call Front Panel.Open manually or have your EXE run to completion without needing a front panel.

0 Kudos
Message 6 of 7
(4,033 Views)

A checkbox somewhere sounds like a good idea. Right now the top-level VI (calling by EXE or right-click > Run) will apparently override the behavior of property Window Appearance > Customize > Show front panel when called. What if the top-level VI treated that setting the same way sub-VIs do? The EXE builder could show the warning conditionally when a Startup VI has the box unchecked.

0 Kudos
Message 7 of 7
(4,024 Views)