如何同时打开和关闭不同的windows?

How to open and close different windows at the same time?

总的来说,我对 rebol 和编程还很陌生,我正在尝试编写一个程序进行练习。

在这个程序中,有一个主程序 window,其中包括一个按钮,我想用它打开一个新的 window,同时关闭主程序 window .

现在,我知道如何分别执行每个功能,但如何将它们组合在一起?

这是我试过的:

button "Start" [view start-win unview main-win]

发生的事情是,当我单击按钮时开始-win 打开,然后所有 windows 立即关闭。

view 启动一个事件循环 - 因此在 window view 打开关闭之前不会执行任何代码。

要在不发生这种情况的情况下开始新的 window,请使用 view/new - 然后在准备就绪时启动事件循环,do-events

unview 删除最后添加的 window 并且默认不接受任何参数。要关闭特定的 window 使用细化 unview/only window-name 因此,在您的第一种情况下,您创建了一个新的 window 然后关闭它。在另一种情况下,您开始关闭最后创建的 window 然后创建一个新的。