¿Cuál es la diferencia entre global y público en VB?
Objeto global
El objeto global es un objeto de aplicación. Al utilizar este objeto, puede acceder a propiedades y métodos a nivel de aplicación.
Sintaxis
Global
Descripción
Global es de tipo de datos Objeto. Debido a que el objeto global es un objeto de aplicación al que se hace referencia automáticamente, no es necesario escribir un código especial para hacer referencia al objeto.
Declaración pública
Se utiliza a nivel de módulo para declarar variables públicas y asignar espacio de almacenamiento.
Sintaxis
Pública [WithEvents] varname[([subíndices])] [Como tipo [Nuevo]] [, [WithEvents] varname[([subíndices])] [Como [ Nuevo] tipo]]
La sintaxis de la declaración pública consta de las siguientes partes:
Descripción de la parte
WithEvents Opcional. Palabra clave Descripción varname es una variable de objeto utilizada para responder a eventos desencadenados por un objeto ActiveX. Sólo legal dentro de los módulos de clase. Con WithEvents, puede definir tantas variables individuales como desee, pero no puede crear matrices con WithEvents. New y WithEvents no se pueden utilizar juntos.
nombre de usuario requerido. El nombre de la variable sigue las convenciones de nomenclatura de variables estándar.
subíndices opcionales. Se pueden definir el número de dimensiones de la variable de matriz; se pueden definir matrices multidimensionales de hasta 60 dimensiones. El parámetro subíndices utiliza la siguiente sintaxis:
[lower To] Upper [, [lower To] Upper]
Si lower no se especifica explícitamente, el límite inferior. La matriz está determinada por el control de la declaración Option Base. Si no hay una declaración de base de opciones, el límite inferior es 0.
Nuevo Opcional. Una palabra clave que se puede utilizar para crear objetos implícitamente. Si declara una variable de objeto usando Nuevo, se crea una nueva instancia del objeto la primera vez que se hace referencia a la variable, por lo que no tiene que usar una instrucción Set para asignar un valor a la referencia del objeto. La palabra clave New no se puede utilizar para declarar variables de ningún tipo de datos internos ni instancias de objetos dependientes, ni se puede utilizar con WithEvents.
escriba opcional. El tipo de datos de la variable puede ser Byte, Booleano, Entero, Largo, Moneda, Simple, Doble, Decimal (no compatible actualmente), Fecha, Cadena (para cadenas de longitud variable), Cadena * longitud (para cadenas de longitud fija); caracteres) Cadena), Objeto o Variante, tipo definido por el usuario o tipo de objeto. Cada variable declarada debe tener una cláusula de tipo As separada.
Explicación
Las variables declaradas por la declaración Pública están disponibles en cualquier proceso de todos los módulos en todas las aplicaciones que no usan el Módulo de Opción Privada si el módulo usa el Módulo de Opción Privada; , entonces la variable es pública sólo en el proyecto al que pertenece.
Precaución No puede utilizar la declaración Pública en un módulo de clase para declarar una variable de cadena de longitud fija.
Utilice la declaración Pública para declarar el tipo de datos de una variable. Por ejemplo, la siguiente declaración declara una variable de tipo Entero.
Número público de empleados como entero
También puede utilizar la declaración pública para declarar el tipo de objeto de una variable. La siguiente declaración declara una variable para una nueva instancia de la hoja de trabajo.
Publicar X como nueva hoja de trabajo
Si no se usa la palabra clave New al definir una variable de objeto, debe usar la instrucción Set para asignar un objeto existente a la variable antes de usarla. La variable que hace referencia al objeto. Antes de que se le asigne un valor, la variable de objeto declarada tiene un valor específico de Nothing, lo que indica que la variable no apunta a una instancia de ningún objeto.
Las matrices dinámicas se pueden declarar utilizando la declaración Pública con paréntesis vacíos. Después de declarar una matriz dinámica, puede usar la instrucción ReDim dentro de un procedimiento para definir las dimensiones y elementos de la matriz. Si intenta redefinir las dimensiones de una matriz cuyo tamaño se ha dimensionado explícitamente en una instrucción Privada, Pública o Dim, se produce un error.
Si no se especifica ningún tipo de datos o tipo de objeto y no se utiliza ninguna declaración Deftype en el módulo, la variable es de tipo Variante de forma predeterminada.
Al inicializar variables, las variables numéricas se inicializan en 0, las cadenas de longitud variable se inicializan en una cadena de longitud cero ("") y las cadenas de longitud fija se rellenan con ceros. Las variables variantes se inicializan en Vacío. Cada elemento de una variable de un tipo definido por el usuario se inicializa como su propia variable independiente.