Art,
Sorry, I haven't followed this thread from the start so I may not have
understood exactly what you are after. Anyway, I've used solutions like
these for what I believe being for similar problems:
1. Dialog A starts Dialog B using popupAsChild passing a Cancel object to
it. The user can cancel the B process by pressing a Cancel button in A. A
changes the Cancel object accordingly, B sees this by checking its status
periodically, and terminates.
2. Dialog A starts Dialog B (via a class method in B) which in turn uses
popupAsDialog and passes the message object created by popupAsChild back to
A. A disables the button at the same time to avoid starting B twice. The
thread in A goes into a loop and every 500ms it checks if B has completed
using the message object, in which case it leaves the loop and enables the
button again.
I don't know if any of these two scenarios fits your problem but maybe it
can be of some help. Good luck.
Staffan
On Wed, Aug 14, 2013 at 11:52 PM, Art Heimsoth <artst...@artheimsoth.com>wrote:
> >> On Tue, Aug 13, 2013 at 2:08 PM, Art Heimsoth
> >> <artst...@artheimsoth.com> wrote:
> >>
> >>> For your specific problem here, I would write my own timed
> >>> message dialog. When using it, send a reference to the executing
> >>> dialog to your timed message dialog. In your timed message,
> >>> periodically check back to see if the other dialog is still
> >>> alive. Quit the timed message if you discover the other dialog is
> ended.
> >>>
> >>> I tried to start a second dialog and then use WinTimer in that
> >>> dialog, with the intention of setting a shared variable from the main
> dialog
> >>> when I wanted the second dialog to end. The second dialog would put
> up a panel
> >>> that includes a "Cancel" button to allow manual cancellation if
> necessary.
> >>
> >> You need to use popup() to start the second dialog. The popup()
> >> method returns immediately and your first dialog can continue
> >> working.
> >>
> I'm still having trouble with this, but I am not sure my approach will work
> anyway. I am trying to get an operation like .timedmessage but where I
> can cancel it from the popup panel; ie, add a cancel button to that dialog
> that would do the same thing as sending ok to the .timedmessage dialog.
>
> In using a dialog that I build and kick off with popupAsChild() or with
> popup()
> the child panel is not displayed until after the child InitDialog returns.
> I was
> intending to put the timed logic in the InitDialog, but seems like I need
> some
> other method for it - how do I kick that off?
>
> To test this, I put a do loop with say statements in the child and parent
> dialogs, and found that if I canceled the parent dialog, the do loops
> continued until they timed out - they were not canceled. I assume that
> in normal for dialogs?
>
> Another problem with this approach, is the underlying dialog is allowed to
> run,
> but the user dialog buttons, menu, etc are also active allowing user input
> which
> is what I need to block; ie, a modal setup.
>
> I am looking for something that will notify the user the application is
> busy, but
> allow them to cancel it manually if necessary without using task manager.
> While
> this notification is showing, all interfacing controls should be disabled,
> but the
> underlying dialog logic; ie, SQL lookups should be allowed to continue.
>
> If I could figure out how to get the timed message to run in the child
> dialog,
> I could disable all the buttons and menu items while the child dialog is
> active
> and then enable them again when the lookup operation is complete and the
> child is ended. Are there other (simpler) ways to accomplish this?
>
> --
> Art Heimsoth - artst...@artheimsoth.com
>
>
> ------------------------------------------------------------------------------
> Get 100% visibility into Java/.NET code with AppDynamics Lite!
> It's a free troubleshooting tool designed for production.
> Get down to code-level detail for bottlenecks, with <2% overhead.
> Download for free and get started troubleshooting in minutes.
> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
> _______________________________________________
> Oorexx-users mailing list
> Oorexx-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-users
>
>
------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
Oorexx-users mailing list
Oorexx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-users