MEMVAR
 Declara nombres de variables privadas y públicas
------------------------------------------------------------------------------
 Sintaxis

     MEMVAR <lista idVarmem>

 Argumentos

     <lista idVarmem> 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 expresiones de macro o variables de
     macro 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, ya sea 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 fichero de programa (.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 fichero de programa (.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 ambiguas a variables, 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

      Este ejemplo muestra la relación que existe entre una variable
        privada y una variable de 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

 To download this example - click here.

See Also: FIELD LOCAL PRIVATE PUBLIC STATIC