Como saber si un objeto formulario es nothing
Responde Enrique Martinez [SoftJaen]
Efectivamente, uno de los cometidos de la palabra reservada «Nothing» es
liberar los recursos asignados con anterioridad a una variable objeto
declarada como tal, pero digo «uno de los cometidos», porque otro cometido
de «Nothing», utilizada conjuntamente con el operador «Is», es conocer si
una variable objeto ha sido o no referenciada.
Cuando se declara una variable objeto, inicialmente tiene asignado el valor
«Nothing», lo que significa que la variable no se refiere a ningún objeto,
por tanto, hay que utilizar la instrucción «Set» para asignar a la variable
objeto una referencia al objeto especificado. Con un ejemplo lo vamos a ver
mejor:
On Error Resume Next ' --> Sólo para el ejemplo
' Declaro una variable objeto...
Dim varObj As Form
' ... pero aún no está referenciada
If varObj Is Nothing Then
MsgBox "La variable objeto NO ESTÁ " & _
"aún referenciada.", , Caption
End If
' Establezco una referencia al formulario 'Clientes'
Set varObj = Application.Forms!frmClientes
If Not varObj Is Nothing Then
' Cambio el título del formulario
varObj.Caption = "¡Hola, mundo!"
MsgBox "La variable objeto SÍ ESTÁ AHORA " & _
"referenciada al formulario 'Clientes'.", , Caption
End If
' Libero los recursos
Set varObj = Nothing
' La variable objeto no vale nada.
If varObj Is Nothing Then
MsgBox "La variable objeto otra vez es «Nothing», " & _
"pero el título del formulario " & _
"sigue siendo el mismo que se le " & _
"ha asignado con anterioridad.", , Caption
End If
En resúmen, si deseamos conocer si una variable objeto ha sido referenciada
a un objeto en particular, hay que utilizar la palabra reservada «Nothing»
junto con el operador «Is». De ésta forma, nos evitaremos sorpresas
desagradables, sobre todo si trabajamos con variables objeto.
Perdona mi intromisión, pero creía conveniente la aclaración.
               (
geocities.com/es/ensolva/Descargas)                   (
geocities.com/es/ensolva)                   (
geocities.com/es)