10-12-2017 10:00 AM
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
Solved! Go to Solution.
10-12-2017 10:08 AM - edited 10-12-2017 10:08 AM
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))
10-12-2017 11:43 AM
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.
10-12-2017 01:18 PM - edited 10-12-2017 01:23 PM
On your launcher VI,
If you do both of those, the app will launch and user will not see a window. If you also do this:
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).
10-13-2017 10:51 AM
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?
11-02-2017 10:15 AM
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.
11-02-2017 03:41 PM
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.