A VARIAVEL XXX E USADA ANTES DE TER UM VALOR

MAXCIM 26/09/2012 09:22:23
#410510
olá amigos, tudo bem?

tenho na lista de erros/ avisos varias linhas indicando um problema com a declaração de variaveis.
alguem pode verificar se esse modo de declarar variaveis esta correto?

Dim sPar_PA, sPar_SA, sPar_MP, sPar_OM, SQLParametro As String

recebo a mensagem [Ô]A variável [ô]sPar_OM[ô] é usada antes de ter um valor atribuído a ela. Uma exceção de referência nula pode resultar em tempo de execução.[Ô]

iguais a essa tenho mais de 100 linhas acusando erro ( o limite é 102) mas creio que aja bem mais...
estou usando Visual Studio 2010.


desde já agradeço
ALEVALE 26/09/2012 09:38:05
#410511
Resposta escolhida
Eu particularmente não gosto de declarar variaveis dessa forma, seria bom você dar um lida no documento postado pelo nosso amigo (JONATHANSTECKER) mas enfim.
Você tem que zerar as variaveis antes de utiliza-las

Dim sPar_PA, sPar_SA, sPar_MP, sPar_OM, SQLParametro As String=[Ô][Ô]

PADROES DE CODIFICACAO BOAS PRATICAS
http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=9222

PEGUDO 26/09/2012 10:09:24
#410514
é porque, do jeito que você está fazendo, somente a variável SQLParametro está sendo atribuída.
O correto é, por Exemplo:
Dim sPar_PA As String = Nothing, sPar_SA As String = Nothing, sPar_MP As String = Nothing, sPar_OM As String = Nothing, SQLParametro As String = Nothing

ou
Dim sPar_PA As String = [txt-color=#e80000][Ô][Ô][/txt-color], sPar_SA As String = [txt-color=#e80000][Ô][Ô][/txt-color], sPar_MP As String = [txt-color=#e80000][Ô][Ô][/txt-color], sPar_OM As String = [txt-color=#e80000][Ô][Ô][/txt-color], SQLParametro As String = [txt-color=#e80000][Ô][Ô][/txt-color]
GUIMORAES 26/09/2012 10:09:57
#410515
Você deve inicializar a variável.
Como o alevale disse, leia o artigo do JonathansTecker, pois da uma ideia sobre os padrões de projeto.

Para inicializar uma variável, você poderia fazer assim.

dim sPar_OM as string = [Ô][Ô]

Ou simplesmente informar um valor a ela.

Abraços

Tópico encerrado , respostas não são mais permitidas