En la posición indicada en el programa se pretende acceder a un dato de otro proceso, siendo imposible ya que dicho dato no es local del otro proceso.
Debe comprobarse que el dato que se pretende acceder está definido dentro de la sección LOCAL del programa, o bien un dato local predefinido en el lenguaje (como x, y, graph, size, ...).
PROGRAM mi_juego; GLOBAL id_mi_proceso; puntos=0; BEGIN id_mi_proceso=mi_proceso(); id_mi_proceso.x=0; id_mi_proceso.puntos=0; // Error: Local no se puede acceder. END PROCESS mi_proceso() BEGIN //... END
En este caso se prentende acceder a los puntos de mi_proceso, pero puntos es una única variable GLOBAL y no una variable LOCAL de cada proceso. Esto también puede suceder intentando acceder a una constante (definida en CONST) o a una expresión como:
x=id_mi_proceso.(x+1);
En este último ejemplo la expresión carece de sentido por completo; probablemente fuera la siguiente expresión la que se prentendiera formular:
x=id_mi_proceso.x+1;
(equivalente a x=(id_mi_proceso.x)+1;).