Using frame/box with os-command (GUI)

Shannon Adams

New Member
I would like to popup a box or frame that alerts the user that the system is busy when running either os-command silent value("program") or run value(v_upd_pgm).

I have tried something like:

display v_inbound
with row 4 overlay centered 1 col three-d view-as dialog-box.

However, most of the time, the frame gets hidden behind other windows or frames.

I am using GUI 9.1C. Thanks for any help.

Shannon
 
Try this:
Code:
display v_inbound
with row 4 overlay centered 1 col three-d TOP-ONLY view-as dialog-box .

I added TOP-ONLY attribute in frame phrase, I suppose, it might help.
 
If you're using the TOP-ONLY in a WITH frame phrase then it would only effect this frame place relative to other frames in the same window. The console is a whole different window.

You can use the parenting window ALWAYS-ON-TOP attribute.

<quote>
ALWAYS-ON-TOP indicates whether the window should remain on top of all windows, even windows belonging to other applications.

This attribute differs from the TOP-ONLY attribute, which indicates that the window should remain on top of all windows of the OpenEdge session.
</quote>

<snippet>
DISPLAY
"Hello World"
WITH FRAME msg.

FRAME msg:WINDOW:ALWAYS-ON-TOP = YES.
PROCESS EVENTS. /* causes the screen to refresh */

OS-COMMAND DIR.
</snippet>



Another conventional solution in these type of cases is to use the SESSION:SET-WAIT-STATE( ) method.

<quote>
Sets the type of wait state: GENERAL, COMPILER, or "". Use this method to prevent user and system input, and provide visual feedback during a long computation or other process. The value you pass determines the type of wait message or cursor that the windowing system displays for the user. The value "" ends the wait state.
</quote>

HTH
 
Os????

Greetings,
1 question here. You know EXACTLY what you require, why are you trying to configure Windows? Just create your own Dialog box, which has EXACTLY the widgets you require in (displayed to your configuration). It is more reliable keeping with PSC, instead of making PSC configure the OS (windows) how you require.
 
Hi lord_icon,

I don't exactly understand the point you're making. But I see no
problem in showing the console window while the os-command is running ?

For example we have a backup scheme which run probkup ... -verbose
and shows the util progress in the console window.

I've written a batch command ( similar to os-command ) which mostly
stuffs the commands into a temp batch file and adds exit at then end.

In this way the console window shows the batch file executing and is
exited at the end.
 
Greetings,
The point I am making is this ....
You wish to OS-COMMAND a message, with a certain title, certain buttons and other specific cutom attributes.
Why go to the hard work of configuring M$ Windows, when you can simply create a PSC dialog or similar with all the required attributes.
Lot harder work to configure M$ Windows than is necessary.
 
Hey :)

I agree with you 110% on that point.

But I don't think he ever said that he's trying to create a message
outside of Progress and through the OS console or other ?

He actually posted an example using display.

I think the question was how do I get that message to stay
on top of the console window that pops up or anything at all.

"other windows or frames" as he put it.



> I would like to popup a box or frame that alerts the user that the
> system is busy when running either os-command silent value
> ("program") or run value(v_upd_pgm).
>
> I have tried something like:
>
> display v_inbound
> with row 4 overlay centered 1 col three-d view-as dialog-box.
>
> However, most of the time, the frame gets hidden behind other
> windows or frames.
>
> I am using GUI 9.1C. Thanks for any help.
>
> Shannon
 
Back
Top