Re: Forms 4.5 Excessive Stacking

From: Valery A. Sorokin <vsorokin_at_dd.ru>
Date: Mon, 24 Aug 1998 11:53:44 +0400
Message-ID: <35E11C08.56DF0EA6_at_dd.ru>


Hi Neville,

Thank you very much for your help. In my case all called forms closed by itself. I'll try open called form once and will use GO_FORM.

Good Luck.
Valery

Neville Sweet wrote:
>
> Valery,
>
> The only reply I have had thus far is from Kathy Stachkunas, as follows:
>
> Modify the procedure which calls the forms to include something like below:
>
> Procedure Call_Go_Form ( v_form_name varchar2 ) \
> is
> fid FormModule;
> begin
> fid := find_form(v_form_name);
> if id_null(fid)
> then call_form(v_form, HIDE, DO_REPLACE ); -- open the form
> else go_form(fid); -- go to old copy
> end if;
> end call_go_form;
>
> Changes can be made very easily to do the the same thing with new_form and
> open_form.
>
> Unfortunatley, Oracle Help on Go_Form mentions a significant restriction:
> The target form cannot be a form that is currently disabled as a result of
> having invoked another form with CALL_FORM.
>
> This would indicate that Go_Form is intended to move between multiple
> active forms, which were created with Open_Form, and that the current form
> is not actually removed from the stack.
>
> The advice does, however, suggest some options.
> Once the presence of a form has been established using Find_Form, I can
> repeatedly Exit_Form back through the stack until I reach the required form
> (controlled using Globals). This is provided there are no outstanding
> changes in forms in the stack - which we actively avoid anyway because of
> the Post-only restriction imposed on child forms. Another condition is that
> the operator requests a form already in the stack before memory is
> exhausted and the PC crashes - sounds reasonable. Another application issue
> is that if I trash all forms in the stack back to the one they want then I
> may scrap something in the stack that the operator still wants to use.
> An alternative may be to prevent them from calling a form already in the
> stack, and tell the operator via a message or Alert to hit the 'Exit'
> button until they get back to the required form.
>
> Some food for thought...
>
> By the way, the advice came via the Developer2000 listserver.
> If you want to subscribe, send e-mail to: listserver_at_developer2000.com
> include only the line: subscribe d2k
> in the message body
>
> Valery A. Sorokin <vsorokin_at_dd.ru> wrote in article
> <35D97D28.36611407_at_dd.ru>...
> > Unfortunately, in Forms 5.0 on Win95 if you will use many CALL_FORM in
> your
> > application, then your application will crush :(
> >
> > It will be work slowly and slowly... (disk i/o grow and grow)...
> > and crush (application).
> >
> > Can somebody find any solution? Any help would be greatly appreciated.
> >
[snip]

-- 
Valery A. Sorokin
ProSoft, Russia, Moscow, Information Systems Division
Phone: +7 (095) 234 0636 (6 lines) FAX: +7 (095) 234 0640
E-mail: vsorokin_at_dd.ru OR vsorokin_at_prosoftmpc.msk.su
http://www.dd.ru
Received on Mon Aug 24 1998 - 09:53:44 CEST

Original text of this message