Can you not use a form with the dialog style to get your answer? Or if
the question is simple enough a messagebox? Both dialog and messagebox
disable all other forms and only events on the new form are allowed.
This is similar to, but much simpler and cleaner than wd'wait'.
----- Original Message -----
From: "Henry Rich" <[EMAIL PROTECTED]>
To: "'Programming forum'" <[email protected]>
Sent: Friday, December 22, 2006 9:33 PM
Subject: RE: [Jprogramming] wd 'wait' ineffectual in j6.01c
I posted a workaround shortly after my initial post.
And yes, I really have to have an answer to the question
posed by the 'wait'ing form before my program can continue.
Henry Rich
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Eric Iverson
Sent: Friday, December 22, 2006 9:05 PM
To: Programming forum
Subject: Re: [Jprogramming] wd 'wait' ineffectual in j6.01c
I will take a look at this. There is a conflict between focus
events and
wait. There may be a J wd coding workaround or it may require
changes at
the system level. I agree that this needs to be fixed, but point out
that wait should be used only when absolutely necessary.
----- Original Message -----
From: "Henry Rich" <[EMAIL PROTECTED]>
To: "'Programming forum'" <[email protected]>
Sent: Wednesday, December 20, 2006 9:33 PM
Subject: [Jprogramming] wd 'wait' ineffectual in j6.01c
>I put up a form and issue wd 'wait', but J doesn't wait for
> an event on the form. Instead, it comes out of the wait with
> an event on another form.
>
>
> I display a form called 'scoreboard', and then I overlay it with
> a dialog that prompts for starting information, like so:
>
> wd NEWGAME
> wd 'set matchlist *',matchnames
> wd 'pshow'
> wd 'wait'
> res =: wd 'q'
> wd 'pclose'
>
> (the NEWGAME form is very simple and is given below)
>
> but the 'wait' is triggered immediately, and the variable 'res'
> is seen to be
>
> +------------+---------------------------+
> |syshandler |scoreboard_handler |
> +------------+---------------------------+
> |sysevent |scoreboard_pict00_focuslost|
> +------------+---------------------------+
> |sysdefault |scoreboard_default |
> +------------+---------------------------+
> |sysparent |scoreboard |
> +------------+---------------------------+
> |syschild |pict00 |
> +------------+---------------------------+
> |systype |focuslost |
> +------------+---------------------------+
> |syslocale |base |
> +------------+---------------------------+
> |syshwndp |220531754 |
> +------------+---------------------------+
> |syshwndc |12717636 |
> +------------+---------------------------+
> |sysfocus | |
> +------------+---------------------------+
> |syslastfocus|pict00 |
> +------------+---------------------------+
>
> so you can see what happened: the wait was satisfied by an event
> on the scoreboard form, to wit the focuslost event. It's very
> repeatable and makes the wd 'wait' unusable.
>
> Henry Rich
>
>
>
> NEWGAME=: 0 : 0
> pc newgame nomax nomin nosize;pn "Select Match, or CANCEL
to Create a
> Template";
> xywh 11 7 183 16;cc matchlist listbox;
> xywh 79 28 34 11;cc ok button;cn "OK";
> pas 6 6;pcenter;
> rem form end;
> )
>
>
----------------------------------------------------------------------
> For information about J forums see
http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see
http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm