A variável '<variablename>' é passada por referência antes de receber um valor

A variável '<variablename>' é passada por referência antes de receber um valor. Uma exceção de referência nula pode ocorrer em tempo de execução.

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

Se uma variável nunca tiver sido atribuída a um valor, ela armazenará o valor padrão para o tipo de dados. Para um tipo de dados de referência, esse valor padrão é Nothing. Ler uma variável de referência que tenha 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 para uma possível modificação pelo procedimento.

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

ID do erro: BC42030

Para corrigir este erro

  • Se você pretende que o procedimento atribua um valor à variável por meio do argumento ByRef e se não importa se a variável já contém um valor, nenhuma ação será 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, verifique se a lógica do procedimento não depende se a variável mantém o 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, verifique se a lógica do procedimento pode manipular um valor de Nothing. Por exemplo, ele pode usar uma Instrução Try... Catch... Finally para capturar um NullReferenceException.

Confira também