[comp.sys.mac.hypercard] closeField

mtc@pbhyf.UUCP (Mitchell T. Christensen) (01/21/88)

(Help!)

I am writing a heterogenious hyperCard stack that takes information
enterred in a background field and updates a card in another background.
In order to enable updates to that field (and the other card), I am
trapping the closeField message and setting a global update flag to be
handled at closeCard.

My problem is that if the user changes the field, and doesn't type tab,
and then clicks on a button (that brings up another card), no closeField
gets sent to the modified field and the other card doesn't get updated.

Goodmans book (pg. 388, 3rd paragraph, 2nd sentence) seems to say I
should get a closeField.  Am I misunderstanding this?

Any help would be greatly appreciated.


-- 
/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-
Mitch Christensen - {ihnp4,dual,lll-crg,qantel,pyramid}!ptsfa!pbhyf!mtc
/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-

briand@tekig4.TEK.COM (Brian Diehm) (01/28/88)

>My problem is that if the user changes the field, and doesn't type tab,
>and then clicks on a button (that brings up another card), no closeField
>gets sent to the modified field and the other card doesn't get updated.
>
>Goodmans book (pg. 388, 3rd paragraph, 2nd sentence) seems to say I
>should get a closeField.  Am I misunderstanding this?

I also ran into this, and will verify it.  I worked around it by trapping
instead on closeCard.  This works for me because my stack only gets added to,
so that I do the extra processing only on the "last" card being closed.  Does
that make sense?  Anyway, the extra time to detect whether this is the last
card is itself noticable.  I would also appreciate any other ideas people have.

-- 
-Brian Diehm     (SDA - Standard Disclaimers Apply)
Tektronix, Inc.
briand@tekig4.TEK.COM   or  {decvax,cae780,uw-beaver}!tektronix!tekig4!briand