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

问题描述

一个窗口内,我尝试打开另一个窗口,如下所示:

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

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

存在一个sysa,但我看不到该表与当前错误消息之间的链接

最重要的是,我的 OtherWindow.w 的第一行如下所示:

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

我没有看到那条消息,所以我的第二个窗口甚至没有打开。第二个窗口已编译,相应的 *.r 文件与第一个窗口的 *.r 文件位于同一目录中。

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

提前致谢

解决方法

错误 566 表示这里是怪物:

#include <stdio.h>
#include <time.h> 
#include <windows.h>
#include<conio.h>
void gotoxy(int col,int row);

void disp0();
int count=219;
int main()
{

gotoxy(10,10);disp0(); 

}

void gotoxy(int col,int row)
{
COORD coord;
coord.X = col; coord.Y = row;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}

void disp0(){
    printf("%c%c%c\n%c %c\n%c %c\n%c %c\n%c%c%c",count,count);//0

}

您尝试运行的程序有一个 <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 调用之前没有定义共享缓冲区将导致错误 566。

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