LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Hiding panel interesting probelm

This is for Win 9x or 2000 platform using LV 5.1.1.

I am creating a standalone executable using the following LV diagram
setup. A top level vi whose only function is to control logic flow and
calls (in a linear non looping fashion) to sub vi's that run when opened
and show their front panels for GUI purposes. Therefore, I really do
not want the panel for this top level vi to ever show but for it only to
execute its diagram.

Before the build of this exe I use VI setup options to make the top
level vi run when opened but do not allow from panel to open when called
or loaded. I also then edit the build profile to not include either the
diagram or front panel for this top level vi during the build process.
Guess what hap
pened for me. When I run the *.exe the front panel for
the top level shows and the executes its diagram logic quite well. The
problem here being that the top level front panel does indeed show.
Does anyone know how to keep this top level panel from showing while
still allowing for execution of its diagram (which actually calls the
sequential GUI's I want the user to see)? Please help.

Thanks in advance,

Don
0 Kudos
Message 1 of 7
(2,693 Views)
Don wrote:

> This is for Win 9x or 2000 platform using LV 5.1.1.
>
>
> When I run the *.exe the front panel for
> the top level shows and the executes its diagram logic quite well. The
> problem here being that the top level front panel does indeed show.
> Does anyone know how to keep this top level panel from showing while
> still allowing for execution of its diagram (which actually calls the
> sequential GUI's I want the user to see)? Please help.
>
> Thanks in advance,
>
> Don

Not sure but I thought it would work the same
after it was built.

there is always the option to have the front panel moved
to some location that is not visible.
Use the VI server and set "Window Position" to some
negative value.

Or something like that.
Kevin Kent
0 Kudos
Message 2 of 7
(2,693 Views)
> This is for Win 9x or 2000 platform using LV 5.1.1.
>
> I am creating a standalone executable using the following LV diagram
> setup. A top level vi whose only function is to control logic flow and
> calls (in a linear non looping fashion) to sub vi's that run when opened
> and show their front panels for GUI purposes. Therefore, I really do
> not want the panel for this top level vi to ever show but for it only to
> execute its diagram.
>
> Before the build of this exe I use VI setup options to make the top
> level vi run when opened but do not allow from panel to open when called
> or loaded. I also then edit the build profile to not include either the
> diagram or front panel for this top level vi during the build process.
> Guess what happened for me. Whe
n I run the *.exe the front panel for
> the top level shows and the executes its diagram logic quite well. The
> problem here being that the top level front panel does indeed show.
> Does anyone know how to keep this top level panel from showing while
> still allowing for execution of its diagram (which actually calls the
> sequential GUI's I want the user to see)? Please help.
>

You will need a launcher VI that opens a reference to the VI, loading it
into memory, Then executes the Run method on the VI reference. You will
want the VI, first thing to open a reference to itself. After a small
delay, you then want the launcher VI to finish execution, releasing its
reference to the VI.

The VI will continue running because it holds itself in memory using the
reference. This strategy implements what we usually refer to as daemons,
because that is what they are called on UNIX. It may get easier to make
them in the future, but this strategy works quite well.

Greg McKaslke
0 Kudos
Message 3 of 7
(2,693 Views)
Thanks for your insight Greg!

Don
0 Kudos
Message 4 of 7
(2,693 Views)
Greg McKaskle wrote:
>> This is for Win 9x or 2000 platform using LV 5.1.1.>> >> I am creating
a standalone executable using the following LV diagram>> setup. A top level
vi whose only function is to control logic flow and>> calls (in a linear
non looping fashion) to sub vi's that run when opened>> and show their front
panels for GUI purposes. Therefore, I really do>> not want the panel for
this top level vi to ever show but for it only to>> execute its diagram.>>
>> Before the build of this exe I use VI setup options to make the top>>
level vi run when opened but do not allow from panel to open when called>>
or loaded. I also then edit the build profile to not include either the>>
diagram or front panel for this top level vi during the build process.>>
Guess what happened for me. When I run the *.exe the front panel for>> the
top level shows and the executes its diagram logic quite well. The>> problem
here being that the top level front panel does indeed show.>> Does anyone
know how to keep this top level panel from showing while>> still allowing
for execution of its diagram (which actually calls the>> sequential GUI's
I want the user to see)? Please help.>> >>You will need a launcher VI that
opens a reference to the VI, loading it>into memory, Then executes the Run
method on the VI reference. You will>want the VI, first thing to open a
reference to itself. After a small>delay, you then want the launcher VI
to finish execution, releasing its>reference to the VI.>>The VI will continue
running because it holds itself in memory using the>reference. This strategy
implements what we usually refer to as daemons,>because that is what they
are called on UNIX. It may get easier to make>them in the future, but this
strategy works quite well.>>Greg McKaslke


Does LV require that at least one window be open? I tried using this technique
with a VI that closes its window, waits a bit, then opens its window again.
It works great in the development environment, but exits as soon as the
window is gone when built as an application. When I added a panel that does
nothing in its diagram and opened that panel before closing my top level
VI, everything worked as expected.

If a panel must always be open, this is sort of annoying for a wizard style
app that opens panels in succession as the user steps through the VI.

Russell Davoli
G Systems
0 Kudos
Message 5 of 7
(2,693 Views)
> Does LV require that at least one window be open? I tried using this technique
> with a VI that closes its window, waits a bit, then opens its window again.
> It works great in the development environment, but exits as soon as the
> window is gone when built as an application. When I added a panel that does
> nothing in its diagram and opened that panel before closing my top level
> VI, everything worked as expected.
>
> If a panel must always be open, this is sort of annoying for a wizard style
> app that opens panels in succession as the user steps through the VI.
>

I'm not all that sure. You are probably seeing what you are seeing, though
I suspect the intent was to allow the daemon VIs to keep running with no
panels open. Be sure that the
reference was opened in the VI itself. LV
keeps track of the top-level VI for each VI reference that is opened. When
this top-level VI closes, the reference is automatically released. If you
dynamically call, using the Run Method, and that opens a reference, it
doesn't seem like it would garbage-collect.

Greg McKaskle
0 Kudos
Message 6 of 7
(2,693 Views)
But how do you make the Launcher VI's Front Panal not appear to user?

Thanks
0 Kudos
Message 7 of 7
(2,693 Views)