Nombre desconocido

En la posición indicada del programa se utiliza una constante, una variable, una tabla o una estructura con el fin de acceder a ella antes de haberla declarado.

El compilador no puede resolver el problema dado que no conoce de qué tipo de objeto se trata.

Todas las constantes se deben definir al comienzo del programa, dentro de la sección CONST.

Las variables, tablas y estructuras se pueden definir dentro de las secciones GLOBAL, LOCAL o PRIVATE según su alcance, pero siempre tienen que estar definidas antes de ser usadas.

Los casos más frecuentes en los que se da este error son:

- Se ha tecleado incorrectamente un nombre, por ejemplo;

Ejemplo:
PROGRAM mi_juego;
CONST
    centro=160;
BEGIN
    x=cenrto; // Error: Nombre desconocido.
    //...
END


- Un objeto se usa antes y se declara después, por ejemplo:

Ejemplo:
PROGRAM mi_juego;
CONST
    doble=simple*2; // Error: Nombre desconocido.
    simple=1;
BEGIN
    //...
END


  En este caso se deberían intercambiar las dos declaraciones anteriores.

- Al inicializar una tabla o estructura, se ha colocado una coma accidentalmente tras la lista de valores.

Ejemplo:
PROGRAM mi_juego;
GLOBAL
    tabla[]=0, 1, 2, 3,
    a=0; // Error: Nombre desconocido.
BEGIN
    //...
END


  En este caso el compilador avisará de este error en la variable a, ya que interpreta que es el siguiente valor en la lista de inicialización de tabla, y es un nombre que todavía se ha definido.


Ver: Sintaxis - Declaración de constantes