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
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: No registered users and 55 guests