PUBLIC (Comando)
Define variables o matrices globales.
PUBLIC MemVarList
-O bien-
PUBLIC [ARRAY] ArrayName1(nRows1 [, nColumns1])
[, ArrayName2(nRows2 [, nColumns2])] ...
[AS type [OF ClassLib]]
Parámetros
- MemVarList
Especifica los nombres de una o más variables de memoria que se van a inicializar y a designar como globales. - [ARRAY] ArrayName1 (nRows1 [, nColumns1]) [, ArrayName2 (nRows2 [, nColumns2])] ...
Especifica una o más matrices que se van a inicializar y a designar como globales. Vea DIMENSION para obtener una descripción de cada argumento. - AS type
Especifica el tipo de datos en el que se basa esta variable o matriz. - OF ClassLib
Especifica la biblioteca de clases que contiene la descripción del tipo en que se basa el elemento type de esta variable o matriz.
Observaciones
Los distintos elementos de MemVarList se separan con comas. Las variables y matrices globales pueden utilizarse y modificarse desde cualquier programa que ejecute durante la sesión actual de Visual FoxPro.
Las variables y matrices que se crean con PUBLIC se inicializan en falso (.F.), excepto las variables públicas FOX y FXOPRO, que se inicializan en verdadero (.T.). Las variables públicas FOX y FOXPRO pueden utilizarse para ejecutar código condicionalmente basándose en el producto que esté ejecutando.
Cualquier variable o matriz que cree en la ventana Comandos será pública automáticamente.
Debe declarar como públicas todas las variables o matrices que desee antes de asignarles un valor.
Si en un programa asigna un valor a una variable o a una matriz, y luego la declara pública con PUBLIC, Visual FoxPro generará un error de sintaxis.
La información de tipo requerida por el analizador de CodeSense en IntelliSense sólo estará disponible cuando cree referencias a objetos y variables con información de tipo con la cláusula AS opcional.
Ejemplo
SET TALK OFF
PUBLIC val1,val2
val1 = 10
val2 = 15
DO down
? val1
? val2
RELEASE ALL && Releases private variables only
DISPLAY MEMORY LIKE val?
RELEASE val1,val2 && Public variables must be released explicitly
DISPLAY MEMORY LIKE val?
PROCEDURE down
PRIVATE val1
val1 = 50
val2 = 100
? val1
? val2
RETURN
Vea también
DIMENSION | FUNCTION | LOCAL | LPARAMETERS | PARAMETERS | PARAMETERS( ) | PRIVATE | PROCEDURE | RELEASE