Set (Instrucción)

Visual Basic VBLR

Set (Instrucción)

       

Asigna una referencia de objeto a una variable o propiedad.

Sintaxis

Set variable_objeto = {[New] expresión_objeto | Nothing}

La sintaxis de la instrucción Set consta de las siguientes partes:

Parte Descripción
variable_objeto Requerido. Nombre de la variable o de la propiedad; sigue las convenciones estándar de nombres de variables.
New Opcional. New se utiliza normalmente durante una declaración para permitir la creación implícita de un objeto. Cuando utiliza New con la instrucción Set se crea una nueva instancia de la clase. Si variable_objeto contenía una referencia a un objeto, esta referencia se libera cuando se asigna el nuevo objeto. La palabra clave New no se puede utilizar para crear nuevas instancias de cualquier tipo de datos intrínseco ni para crear objetos dependientes.
expresión_objeto Requerido. Expresión que consiste en el nombre de un objeto, otra variable declarada del mismo tipo de objetos, o una función o método que devuelve un objeto del mismo tipo de objeto.
Nothing Opcional. Interrumpe una asociación de variable_objeto con cualquier objeto específico. Al asignar Nothing a variable_objeto se liberan todos los recursos del sistema y de memoria asociados con el objeto al que se hizo referencia previamente cuando ninguna otra variable se refiere a él.

Comentarios

Para ser válido, variable_objeto debe ser un tipo de objeto coherente con el objeto que se le ha asignado.

Las instrucciones Dim, Private, Public, ReDim y Static sólo declaran una variable que se refiere a un objeto. No se hará referencia a ningún objeto real hasta que use la instrucción Set para asignar un objeto específico.

El siguiente ejemplo ilustra el uso de Dim para declarar una matriz del tipo Form1. Actualmente no existe ninguna instancia de Form1. Set asigna referencias a nuevas instancias de Form1 a la variable misFormulariosSecundarios. Este código se podría utilizar para crear formularios secundarios en una aplicación MDI.

Dim misFormulariosSecundarios(1 to 4) As Form1
Set misFormulariosSecundarios(1) = New Form1
Set misFormulariosSecundarios(2) = New Form1
Set misFormulariosSecundarios(3) = New Form1
Set misFormulariosSecundarios(4) = Nwq Form1

Generalmente, cuando usa Set para asignar una referencia de objeto a una variable, no se crea ninguna copia del objeto para esa variable. En su lugar se crea una referencia al objeto. Más de una variable de objeto se puede referir al mismo objeto. Puesto que estas variables son referencias al objeto (no copias de él), cualquier cambio en el objeto se refleja en todas las variables que se refieren a él. No obstante, cuando utiliza la palabra clave New en la instrucción Set, en realidad está creando una instancia del objeto.