启动 window 会导致有关缓冲区 sysa 的错误 566

Launching a window causes error 566 concerning buffer sysa

在一个 window 里面,我试着打开另一个 window,像这样:

RUN "OtherWindow.w":U (
INPUT        E-Par1,
...
INPUT-OUTPUT E-Par4,
...
INPUT        E-Par11
).

通常,这工作正常,但现在我收到有关缓冲区 sysa 的错误 566。

存在 table sysa,但我没有看到 table 和当前错误消息之间的 link。

除此之外,我的 OtherWindow.w 的第一行如下所示:

MESSAGE "first line" VIEW-AS ALERT-BOX.

我没有看到那条消息,所以我的第二个 window 甚至都没有打开。第二个 window 已编译,相应的 *.r 文件与第一个 window.

*.r 文件位于同一目录中

有人知道这是什么意思吗?提到的缓冲区 sysa 是否与我的 table sysa 有关,或者这只是巧合?

提前致谢

错误 566 表示这里有怪物:

<program> Unable to find shared buffer for <buffer>. (566)

You used a DEFINE SHARED BUFFER <name> statement in a program.  
When you ran the program, no existing buffer <name> was found. 

您尝试 运行 的程序有一个 define shared buffer 语句。这将编译得很好。

但是在运行时,如果在用define new shared buffer调用之前没有定义共享缓冲区将导致错误566。

请注意,shared 是一个古老的构造,源于参数可以传递给过程之前。它也可以(ab)用于变量。