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

Reply via email to