OpenEdge ABL UI 冻结 window 直到 Popup 关闭
OpenEdge ABL UI Freeze window until Popup closes
我正在使用 OpenEdge ABL 创建一个 window,只需按一下按钮即可 运行 辅助 window。但是,我试图让 first/parent window 在 child window 处于 运行ning 时冻结,并在 child [=29] 时恢复=] 关闭。
我试图在 parent window 上使用 WAIT-FOR WINDOW-CLOSE OF CURRENT-WINDOW 但是这返回了错误: [= 中使用的小部件句柄无效20=] 语句。 WAIT-FOR 已终止 (4122)。
为了运行 child window 我用:
RUN D:\adherenceEdit_12875-Win.w(cUserId,cShiftCode,dtDate).
您是否尝试使 child window 模态化?
我想你可以考虑使用 TOP-ONLY
or ALWAYS-ON-TOP
attributes on the window, or make the child a dialog box。
我通过添加解决了这个问题:
DO WITH FRAME {&FRAME-NAME}:
将按钮的灵敏度设置为 false 意味着在 child window 为 运行 时不会按下它们。
ASSIGN CURRENT-WINDOW:SENSITIVE = FALSE.
RUN D:\adherenceEdit_12875-Win.w(INPUT cUserId,
INPUT cShiftCode,
INPUT dtDate).
在 child 关闭后,parent window 继续 运行 并重置按钮灵敏度,允许它们被按下
ASSIGN CURRENT-WINDOW:SENSITIVE = TRUE.
END.
我不确定这是否是最有效的方法,@nwahmaet 的回答可能提供了一种更有效的方法。
我正在使用 OpenEdge ABL 创建一个 window,只需按一下按钮即可 运行 辅助 window。但是,我试图让 first/parent window 在 child window 处于 运行ning 时冻结,并在 child [=29] 时恢复=] 关闭。
我试图在 parent window 上使用 WAIT-FOR WINDOW-CLOSE OF CURRENT-WINDOW 但是这返回了错误: [= 中使用的小部件句柄无效20=] 语句。 WAIT-FOR 已终止 (4122)。
为了运行 child window 我用:
RUN D:\adherenceEdit_12875-Win.w(cUserId,cShiftCode,dtDate).
您是否尝试使 child window 模态化?
我想你可以考虑使用 TOP-ONLY
or ALWAYS-ON-TOP
attributes on the window, or make the child a dialog box。
我通过添加解决了这个问题:
DO WITH FRAME {&FRAME-NAME}:
将按钮的灵敏度设置为 false 意味着在 child window 为 运行 时不会按下它们。
ASSIGN CURRENT-WINDOW:SENSITIVE = FALSE.
RUN D:\adherenceEdit_12875-Win.w(INPUT cUserId,
INPUT cShiftCode,
INPUT dtDate).
在 child 关闭后,parent window 继续 运行 并重置按钮灵敏度,允许它们被按下
ASSIGN CURRENT-WINDOW:SENSITIVE = TRUE.
END.
我不确定这是否是最有效的方法,@nwahmaet 的回答可能提供了一种更有效的方法。