运行 在 on 语句触发器中

run in on statement trigger

进度 9,Windows。

双按钮屏幕。
B1 和 B2.
两者都在磁盘上的另一个程序中给出 运行。

B1                                   B2
--                                   --
RUN p1.w.                            RUN p2.w.
MESSAGE "Back from p1".              MESSAGE "Back from p2". 

正确执行

点击B1。打开 p1 程序。
点击 B2。打开p2程序。
关闭 p2。显示 "Back from p2".
关闭 p1。显示 "Back from p1".

执行似乎有误

点击B1。打开 p1 程序。
点击 B2。打开p2程序。
关闭 p1。不显示 "Back from p1"。 B1按钮死机,无动作。
关闭 p2。显示 "Bcak from p2"。按钮保持 运行.

它给人的印象是它将调用放在 "stack" 中,最后一个进入的必须是第一个出来的。 有什么解决办法吗?

您应该运行那些带有 PERSISTENT 关键字的 .w,并避免在主块中执行任何 WAIT-FOR 语句。