A variável '<variablename>' é passada por referência antes de lhe ter sido atribuído um valor

A variável '<variablename>' é passada por referência antes de lhe ter sido atribuído um valor. Uma exceção de referência nula pode resultar em tempo de execução.

Uma chamada de procedimento passa uma variável como um argumento para um ByRef parâmetro antes que qualquer valor seja atribuído à variável.

Se uma variável nunca tiver recebido um valor, ela manterá o valor padrão para seu tipo de dados. Para um tipo de dados de referência, esse valor padrão é Nothing. A leitura de uma variável de referência que tem um valor de Nothing pode causar um NullReferenceException em algumas circunstâncias.

Passar um argumento para um procedimento ByRef expõe a variável subjacente ao argumento a uma possível modificação pelo procedimento.

Por padrão, essa mensagem é um aviso. Para obter mais informações sobre como ocultar avisos ou tratar avisos como erros, consulte Configurando avisos no Visual Basic.

ID de erro: BC42030

Para corrigir este erro

  • Se você pretende que o procedimento atribua um valor à variável através do ByRef argumento, e se não importa se a variável já possui um valor, nenhuma ação é necessária.

  • Se a lógica no procedimento ler o argumento antes de atribuir qualquer valor a ele, e se a variável for de um tipo de valor, certifique-se de que a lógica do procedimento não dependa se a variável mantém seu valor padrão ou não.

  • Se a lógica no procedimento ler o argumento antes de atribuir qualquer valor a ele, e se a variável for de um tipo de referência, certifique-se de que a lógica do procedimento possa manipular um valor de Nothing. Por exemplo, poderia usar um ... Pegar... Finalmente, declaração para pegar um NullReferenceException.

Consulte também