Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Uma variável de objeto inválida está sendo referenciada. Este erro pode ocorrer por vários motivos:
Uma variável foi declarada sem especificar um tipo. Se uma variável for declarada sem especificar um tipo, o padrão será digitar
Object.Por exemplo, uma variável declarada com
Dim xseria do tipoObject;uma variável declarada comDim x As Stringseria do tipoString.Sugestão
A
Option Strictinstrução não permite a digitação implícita que resulta em umObjecttipo. Se você omitir o tipo, ocorrerá um erro em tempo de compilação. Consulte Declaração estrita de opção.Você está tentando fazer referência a um objeto que foi definido como
Nothing.Você está tentando acessar um elemento de uma variável de matriz que não foi declarada corretamente.
Por exemplo, uma matriz declarada como
products() As Stringacionará o erro se você tentar fazer referência a um elemento da matrizproducts(3) = "Widget". A matriz não tem elementos e é tratada como um objeto.Você está tentando acessar o código dentro de um
With...End Withbloco antes que o bloco tenha sido inicializado. UmWith...End Withbloco deve ser inicializado executando o ponto de entrada daWithinstrução.
Observação
Em versões anteriores do Visual Basic ou VBA, esse erro também foi acionado pela atribuição de um valor a uma variável sem usar a Set palavra-chave (x = "name" em vez de Set x = "name"). A Set palavra-chave não é mais válida no Visual Basic .Net.
Para corrigir este erro
Defina
Option StrictcomoOnadicionando o seguinte código ao início do arquivo:Option Strict OnQuando você executa o projeto, um erro do compilador aparecerá na Lista de Erros para qualquer variável que foi especificada sem um tipo.
Se você não quiser habilitar
Option Stricto , pesquise seu código para quaisquer variáveis que foram especificadas sem um tipo (Dim xem vez deDim x As String) e adicione o tipo pretendido à declaração.Certifique-se de que não está a referir-se a uma variável de objeto que tenha sido definida como
Nothing. Pesquise o código para a palavra-chaveNothinge revise o código para que o objeto não seja definido atéNothingque você o tenha referenciado.Certifique-se de que todas as variáveis de matriz estão dimensionadas antes de acessá-las. Você pode atribuir uma dimensão ao criar a matriz pela primeira vez (
Dim x(5) As Stringem vez deDim x() As String) ou usar aReDimpalavra-chave para definir as dimensões da matriz antes de acessá-la pela primeira vez.Verifique se o
Withbloco foi inicializado executando o ponto de entrada daWithinstrução.