Когда я вызываю окно из другой формы, оно показывает два окна, одно поверх другого - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть две формы: форма A и форма B. Холст "Домой" принадлежит форме A, и на ней есть две кнопки.Я хочу вызвать «Окно 1» в форме B, когда я нажимаю первую кнопку, и вызывать «Окно 2» в форме B, если я нажимаю вторую кнопку.

Теперь, если я нажимаю первую кнопку, я вижу окно 1.Но если я нажимаю вторую кнопку, я вижу окно 2 в верхней части окна 1. Почему?

Это триггер второй кнопки WHEN-PUSH-BUTTON.(Триггер первой кнопки WHEN-PUSH-BUTTON такой же):

DECLARE
   user_form       VARCHAR2 (100);
   param_list_id   paramlist;
BEGIN     

   :parameter.PRMTR := '2';  

   param_list_id := CREATE_PARAMETER_LIST ('param_data');

   ADD_PARAMETER (param_list_id,
              'PRMTR',
              text_parameter,
              TO_CHAR ( :parameter.PRMTR));


   user_form := '/home/oracle/program/formb.fmx';


   CALL_FORM (user_form,
          hide,
          do_replace,
          no_query_only,
          param_list_id);          

   DESTROY_PARAMETER_LIST ('param_data');

END;

И это триггер WHEN-NEW-FORM-INSTANCE формы B:

IF :parameter.PRMTR = '2' THEN          


    GO_BLOCK('DATABLOCK_TWO');


ELSIF :parameter.PRMTR = '1' THEN

    GO_BLOCK('DATABLOCK_ONE');


END IF;

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

Причина открытия окна 1 в любом случае заключается в том, что блок данных окна 1 находится над всеми блоками данных.

Насколько я понимаю, вызвать два отдельных окна из другой формы невозможно таким образом.,Я создал домашнее окно в форме B и переместил на него кнопки.Я позвонил в это домашнее окно из формы А. Это сработало.

0 голосов
/ 02 мая 2019

Вы можете вставить триггер когда-новый-экземпляр-формы формы B в команду HIDE_VIEW, чтобы скрыть первое окно.

...