Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se hace referencia a una variable de objeto no válida. Este error puede producirse por varias razones:
Se declaró una variable sin especificar un tipo. Si una variable se declara sin especificar un tipo, el valor predeterminado se establece en el tipo
Object
.Por ejemplo, una variable declarada con
Dim x
sería de tipoObject;
, mientras que una variable declarada conDim x As String
sería de tipoString
.Sugerencia
La instrucción
Option Strict
no permite la asignación implícita de tipos que da como resultado un tipoObject
. Si se omite el tipo, se producirá un error en tiempo de compilación. Vea Option Strict (instrucción).Intenta hacer referencia a un objeto que se estableció en
Nothing
.Intenta acceder a un elemento de una variable de matriz que no se declaró correctamente.
Por ejemplo, una matriz declarada como
products() As String
desencadenará el error si intenta hacer referencia a un elemento de la matrizproducts(3) = "Widget"
. La matriz no tiene elementos y se trata como un objeto.Intenta acceder al código dentro de un bloque
With...End With
antes de que se inicialice el bloque. Para inicializar un bloqueWith...End With
, ejecute el punto de entrada de la instrucciónWith
.
Nota
En versiones anteriores de Visual Basic o VBA, este error también se desencadenó al asignar un valor a una variable sin usar la palabra clave Set
(x = "name"
en lugar de Set x = "name"
). La palabra clave Set
ya no es válida en Visual Basic .NET.
Para corregir este error
Para establecer
Option Strict
enOn
, agregue el código siguiente al inicio del archivo:Option Strict On
Al ejecutar el proyecto, aparecerá un error del compilador en la Lista de errores de cualquier variable que se haya especificado sin un tipo.
Si no quiere habilitar
Option Strict
, busque en el código las variables que se especificaron sin un tipo (Dim x
en lugar deDim x As String
) y agregue el tipo deseado a la declaración.Asegúrese de que no hace referencia a una variable de objeto que se estableció en
Nothing
. Busque la palabra claveNothing
en el código y revíselo para asegurarse de el que objeto no se establezca enNothing
hasta que haga referencia a él.Asegúrese de que las variables de matriz estén dimensionadas antes de acceder a ellas. Puede asignar una dimensión cuando cree la matriz (
Dim x(5) As String
en lugar deDim x() As String
), o bien usar la palabra claveReDim
para establecer las dimensiones de la matriz antes de acceder a ella por primera vez.Para asegurarse de la inicialización del bloque
With
, ejecute el punto de entrada de la instrucciónWith
.