MEMVAR
Declara nombres de variables privadas y públicas -------------------------- Sintaxis MEMVAR Argumentos es la lista de nombres de variables públicas y privadas que se van a declarar al compilador. Descripción MEMVAR es una declaración que hace que el compilador resuelva las referencias a variables especificadas sin un alias explícito, asumiendo implícitamente un alias de variable de memoria (MEMVAR->). Esto sólo afecta a las referencias explícitas sin alias de las variables especificadas. MEMVAR, como todas las declaraciones, no afecta a las referencias realizadas dentro de macroexpresiones o variables que las contengan. La sentencia MEMVAR no crea variables ni comprueba su existencia. Sirve para asegurar que sean correctas las referencias a variables que se sabe que existirán durante la ejecución. Durante la ejecución, las variables especificadas deben crearse con sentencias PRIVATE, PARAMETERS o PUBLIC. Esto puede ocurrir en el procedimiento que contiene la declaración MEMVAR o en un procedimiento de nivel superior. Si se intenta acceder a las variables antes de que se hayan creado, se produce un error. El ámbito de la declaración MEMVAR es el procedimiento o función en el que aparece, o todo el fichero fuente si precede a una sentencia PROCEDURE o FUNCTION y se utiliza la opción de compilador /N. La opción /N suprime la definición automática de un procedimiento que tiene el mismo nombre que el módulo fuente (.prg). Al igual que las restantes declaraciones, MEMVAR debe preceder a todas las sentencias ejecutables, incluyendo las sentencias PARAMETERS, PUBLIC y PRIVATE de una definición de procedimiento o función; o debe situarse al principio del módulo fuente (.prg) si el ámbito de la declaración es todo el módulo. MEMVAR puede utilizarse con la opción de compilador /W, que genera mensajes de advertencia para referencias a variables ambiguas, lo que permite comprobar la existencia de variables no declaradas durante la compilación. Si desea más información sobre las declaraciones de variables y su ámbito, consulte el apartado Variables del capítulo Conceptos Básicos de la guía de Programación y Utilidades. Ejemplos n Este ejemplo muestra la relación que existe entre una variable privada y una variable campo que tienen el mismo nombre. La variable privada se declara con la sentencia MEMVAR: FUNCTION Ejemplo MEMVAR cantidad, direccion PRIVATE cantidad := 100 USE Cliente NEW // ? cantidad // Se refiere a la variable // privada cantidad ? Cliente->Cantidad // Se refiere a la variable de // campo Cantidad // RETURN NIL