Окно OpenEdge ABL UI Freeze до закрытия всплывающего окна - PullRequest
0 голосов
/ 29 января 2020

Я использую OpenEdge ABL для создания окна, которое будет запускать дополнительное окно одним нажатием кнопки. Однако я пытаюсь заставить первое / родительское окно зависнуть во время работы дочернего окна и возобновить его при закрытии дочернего окна.

Я попытался использовать WAIT-FOR WINDOW-CLOSE OF CURRENT-WINDOW на родительском однако в этом случае окно вернуло ошибку: неверный дескриптор виджета, используемый в операторе WAIT-FOR. WAIT-FOR прекращено (4122).

Для запуска дочернего окна я использую:

RUN D:\adherenceEdit_12875-Win.w(cUserId,cShiftCode,dtDate).

Ответы [ 2 ]

1 голос
/ 29 января 2020

Вы пытаетесь сделать дочернее окно модальным?

Я думаю, что вы можете использовать атрибуты TOP-ONLY или ALWAYS-ON-TOP в окне или сделайте ребенка диалоговым окном .

0 голосов
/ 30 января 2020

Я обошел это, добавив:

 DO WITH FRAME {&FRAME-NAME}:

Если установить чувствительность кнопок в значение false, это означает, что они не будут нажиматься во время работы дочернего окна.

  ASSIGN CURRENT-WINDOW:SENSITIVE = FALSE.


  RUN D:\adherenceEdit_12875-Win.w(INPUT cUserId,
                                   INPUT cShiftCode,
                                   INPUT dtDate).

После того, как ребенок был закрыт, родительское окно продолжает работать и сбрасывает чувствительность кнопок, позволяя им нажимать

  ASSIGN CURRENT-WINDOW:SENSITIVE = TRUE.

 END.

Я не уверен, что это самый эффективный способ сделать это, и ответ @ nwahmaet может иметь предоставил более эффективный метод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...