I think this is right. Qt signals an event for the form close, but actually
closes it when event processing is complete.

On 18 December 2015 at 17:23, bill lam <[email protected]> wrote:

> Not sure what happened.  My initial guess is that pclose calls an async
> function to close the window and return immediately.  The form will be
> closed after some other events.  Conversely if form had been destroyed
> within the button event, its children could no longer exist, what would
> happen to the process of code running by the button b1?
> On Dec 19, 2015 8:42 AM, "robert therriault" <[email protected]>
> wrote:
>
> > Henry,
> >
> > The other place that I have seen something like this is when running labs
> > such as Arithmetic in the Live texts section. It happens in the very
> first
> > section of that lab. Also occurs in Book of Numbers, Grade 8-7 Saxon and
> > Linear Algebra (and perhaps labs in other categories).
> >
> > It may not be related but it also strikes me as odd that the forms remain
> > open on wdforms '' after they have been closed. A script to illustrate
> > follows.
> >
> > Cheers, bob
> >
> >  BETA=: 0 : 0
> > pc betavis ptop;setp wh 200 60;
> > maxwh 200 20;cc b1 button;cn "close form";
> > pshow;
> > )
> >
> > betavis_b1_button=: 3 : 0
> > smoutput (wdforms '');'3';'Form open'
> > betavis_close ''
> > smoutput (wdforms '');'4';'Expected form closed but still open'
> > status ''
> > )
> >
> > status=: 3 : 0
> > smoutput (wdforms '');'5'; 'Expected form closed but still open'
> > )
> >
> > betavis_close=: 3 : 'wd ''psel betavis;pclose;'''
> >
> > betavis_run=: 3 : 0
> > smoutput (wdforms '');'1' ;'No form'
> > wd BETA
> > smoutput (wdforms '');'2';'Form created'
> > )
> >
> > betavis_run ''
> >
> >
> > > On Dec 18, 2015, at 2:53 PM, Henry Rich <[email protected]> wrote:
> > >
> > > So far the only problem is that sometimes the last line of the term
> > window (where the next command will be entered) is misplaced.
> > >
> > > It is easy to create the error using dissect.  I haven't been able to
> > create it with a simpler testcase, so maybe it has something to do with
> the
> > fact that a form is drawn.  dissect itself does no typeout and just
> draws a
> > form and produces a result.
> > >
> > > 1.  Run
> > >
> > >   dissect '3 + 5'
> > >
> > > This works correctly.  Dissect returns with i. 0 0, so there is no
> > typeout and the term window is ready for the next command.  The form is
> > created.
> > >
> > > 2.  Run
> > >
> > >   2 dissect '3 + 5'
> > >
> > > The left argument to dissect instructs dissect to return the locale of
> > the form.  The result of dissect is now an atom, with empty shape.
> Observe
> > that there is a blank line between the line you typed in and the result
> of
> > dissect, and that the last line, where the next command will be entered,
> > has boxing characters.  It appears that the next-command line was output
> > before the result of dissect.
> > >
> > > 3.  Run
> > >
> > >  3 : 'i. 0 [ destroy__y $0' 2 dissect '3 + 5'
> > >
> > > This creates the form and immediately destroys it.  The result should
> be
> > a blank line.  As in case 2 above the new prompt seems to come out before
> > the blank line, so that the cursor is lacking the customary 3 spaces.
> > >
> > > 4.  Run
> > >
> > >  3 : 'i. 0 0 [ destroy__y $0' 2 dissect '3 + 5'
> > >
> > > Now there is no blank line emitted by the command line, and the display
> > is correct.
> > >
> > > Finally, configure a function key to run dissect.  I use
> > >
> > > F2;0;Dissect Line;dissect&.finddissectline_dissect_ 0
> > >
> > > Type
> > >
> > >   3 + 5
> > >
> > > then place the cursor on the 3+5 line and press F2.  Note that a blank
> > line is added to the term window, even though the PFkey is configured not
> > to display.
> > >
> > > Henry Rich
> > >
> > >
> > >
> > >
> > > ----------------------------------------------------------------------
> > > 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