Compartir a través de


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