There's one more thing you may want to consider.  FrmReturnToForm will
make a frmUpdateEvent only for OS3.5 and greater.  For older OS, you
won't get a frmUpdateEvent from FrmReturnToForm.  So if you're going
to use globals and test for it in Form2's frmUpdateEvent, then you'll
also need to test what OS you're running on and manually make a
FrmUpdateForm call right after you have your first FrmReturnToForm for
OS older than 3.5.



On Mon, 11 Sep 2000 17:52:59 +0200 (MET DST), Denis Faivre
<[EMAIL PROTECTED]> wrote:

>
>At 10:03 11/09/00 -0400, JB Parrett wrote:
>>>> In an application :
>>>> - Form1 invokes Form2 through FrmPopupForm(idForm2).
>>>> - Form2 invokes in turn Form3 through FrmPopupForm(idForm3).
>>>> - Form3 calls FrmReturnToForm(0) and sets a flag in globals to tell Form2 
>>>> to
>>>> return as well.
>>>> - in frmUpdateEvent processing of Form2, the flag is tested and when true,
>>>> Form2 calls FrmReturnToForm(0).
>>
>>One approach is to call FrmCloseAllForms(); followed by FrmGoToForm(FORM1);
>
>Right, and that's what I finally did yesterday because in the case I
>described it works properly. However, suppose that I only want to get back 2
>levels out of 4, it wouldn't work.
>
>A possible answer, that I experimented shortly (so it might be buggy) before
>turning to FrmCloseAllForms(), works like this :
>In Form2 event handler, when I get frmUpdateEvent, I test whether the update
>code is 0 (default value) or FORM_GOTO (custom value, 1 in this case). If 0,
>I simply do a FrmUpdateForm(Form2, FORM_GOTO) and return true (event
>handled). If FORM_GOTO, I do the FrmReturnToForm(0) and return true as well.
>
>This way, the 2nd frmUpdateEvent is received AFTER Form3 complete
>termination, so the error message does not show up.
>
>However, this is kind of tricky. I see this more like a work-around than a
>good implementation.
>
>-- Denis.
>
>



-- 
For information on using the ACCESS Developer Forums, or to unsubscribe, please 
see http://www.access-company.com/developers/forums/

Reply via email to