Período de duración en Visual Basic
Actualización: noviembre 2007
El período de duración de un elemento declarado es el tiempo durante el cual está disponible para el uso. Las variables son los únicos elementos que tienen un período de duración. Para este propósito, el compilador trata los parámetros de procedimiento y la función vuelve como un caso especial de variable. El período de duración de una variable representa el tiempo durante el cual puede contener un valor. Su valor puede variar en su período de duración, pero siempre contiene un valor.
Períodos de duración diferentes
Una variable miembro (declarada en el nivel de módulo, fuera de cualquier procedimiento) tiene el mismo período de duración normalmente que el elemento en el que se declara. Una variable no compartida declarada en una clase o estructura existe como copia separada para cada instancia de la clase o estructura en la que se declara. Este tipo de variable tiene el mismo período de duración que su instancia. No obstante, una variable Shared sólo tiene un período de duración, que es el tiempo completo de ejecución de la aplicación.
Una variable local (declarada dentro de un procedimiento) sólo existe mientras el procedimiento en el que se declara está en ejecución. Esto también es aplicable a los parámetros del procedimiento y a cualquier valor devuelto de función. No obstante, si el procedimiento llama a otros procedimientos, las variables locales conservan su valor durante la ejecución de los últimos.
Comienzo del período de duración
El período de duración de una variable local empieza con el control del procedimiento en el que se declara. Las variables locales se inicializan con el valor predeterminado de su tipo de datos en el momento en que empieza la ejecución del procedimiento. Cuando el procedimiento encuentra una instrucción Dim que especifica valores iniciales, establece esos valores para las variables aunque el código ya les haya asignado otros valores.
Los miembros de una variable de estructura se inicializan como si cada uno fuera una variable independiente. De forma similar, los elementos de una variable de matriz se inicializan de manera individual.
Las variables declaradas dentro de un bloque en el interior de un procedimiento (como un bucle For ) se inicializan en la entrada al procedimiento. Estas inicializaciones tienen efecto independientemente de si el código ejecuta o no el bloque.
Final del período de duración
Cuando un procedimiento finaliza, no se conservan los valores de sus variables locales y Visual Basic recupera su memoria. La próxima vez que llame al procedimiento, se crean de nuevo y se reinicializan todas las variables locales.
Cuando finaliza una instancia de una clase o estructura, se pierde el valor y la memoria de sus variables no compartidas. Cada nueva instancia de la clase o estructura crea y reinicializa sus variables no compartidas. No obstante, las variables Shared se conservan hasta que finaliza la ejecución de la aplicación.
Prolongar el período de duración
Si declara una variable local con la palabra clave Static, su período de duración es más largo que el tiempo de ejecución de su procedimiento. La tabla siguiente muestra cómo determina la declaración de procedimiento el tiempo de duración de una variable Static.
Ubicación de procedimiento y uso compartido |
Comienza el período de duración de una variable estática |
Finaliza el período de duración de una variable estática |
---|---|---|
En un módulo (compartido de manera predeterminada) |
La primera vez que se llama al procedimiento. |
Cuando se detiene la aplicación |
En una clase o estructura, Shared (el procedimiento no es un miembro de instancia) |
La primera vez que se llama al procedimiento en una instancia específica, o en el mismo nombre de clase o estructura |
Cuando se detiene la aplicación |
En una instancia de clase o estructura, no Shared (el procedimiento es un miembro de instancia) |
La primera vez que se llama al procedimiento en la instancia específica |
Cuando la instancia se libera para la recolección de elementos no utilizados |
Vea también
Tareas
Cómo: Prolongar la duración de una variable
Solucionar problemas de tipos de datos
Conceptos
Nombres de elementos declarados
Niveles de acceso en Visual Basic
Declaración de variable en Visual Basic