DUVIDA EM FUNCAO - AVISOS

VINICIUSVB 20/12/2010 11:39:33
#359971
Olá pessoal bom dia


Estou usando varias classes em meu projeto e dentro delas eu tenho funcoes. Para todas estas funcoes esta aparecendo o seguinte aviso:

[Ô]A função [ô]Lista_Almoxarifados[ô] não retorna um valor em todos os caminhos de código. Uma exceção de referência nula poderá resultar em tempo de execução quando o resultado for usado.[Ô]

Gostaria de saber o que esta acontecendo, como faco para nao aparecer mais, e se isso podera ser um problema visto que o meu projeto esta compilando normalmente.
RODRIGOFERRO 20/12/2010 11:49:28
#359976
Amigo cada funçao tem de retornar um resultado.

Function somar(numero As Integer) As Integer
Dim valor1 As Integer
Dim valor2 As Integer
valor1 = 10
valor2 = 20
somar = (valor1 + valor2) * numero [ô]aki eu to retornando um valor para a minha funcao soma
End Function

Nesse caso de cima ela ira retornar um numero inteiro que multiplicando a soma de valor1 e valor2 pelo parametro [Ô]numero[Ô] , se suas funçoes nao precisam retornar dados troque-as para [Ô]SUB[Ô].

Segue link que explica mais...

http://www.tomasvasquez.com.br/blog/microsoft-office/vba-as-diferencas-entre-sub-e-function
VINICIUSVB 20/12/2010 12:28:18
#359983
Zero cal todas as funcoes retornam valores. Segue abaixo uma delas:

Function Lista_Almoxarifados()
[ô]String de comado SQL
Dim strSQL As String = [Ô]SELECT CODIGO, NOME FROM TBAlmoxarifados[Ô]

Try
ConexaoSQL = Conecta_Banco_SQL(StrConexaoSQL)
Da = ExecutaDataAdapter(ConexaoSQL, strSQL)
Dt = New DataTable
Da.Fill(Dt)


Return Dt

[ô]Tratamento de erro
Catch err As Exception
MessageBox.Show([Ô]Erro de Comando [Ô] & err.Message)
If ConnectionState.Open Then
ConexaoSQL.Close()
End If
End Try

End Function
MARCOSLING 20/12/2010 12:44:30
#359986
Citação:

:
Zero cal todas as funcoes retornam valores. Segue abaixo uma delas:

Function Lista_Almoxarifados()
[ô]String de comado SQL
Dim strSQL As String = [Ô]SELECT CODIGO, NOME FROM TBAlmoxarifados[Ô]

Try
ConexaoSQL = Conecta_Banco_SQL(StrConexaoSQL)
Da = ExecutaDataAdapter(ConexaoSQL, strSQL)
Dt = New DataTable
Da.Fill(Dt)


Return Dt

[ô]Tratamento de erro
Catch err As Exception
MessageBox.Show([Ô]Erro de Comando [Ô] & err.Message)
If ConnectionState.Open Then
ConexaoSQL.Close()
End If
End Try

End Function



Acho que vc tem que especificar o tipo que a função retorna
PEGUDO 20/12/2010 13:06:24
#359988
Resposta escolhida
Cara, tente retirar o [txt-color=#0000f0]Return[/txt-color] de dentro do [txt-color=#0000f0]Try...Catch[/txt-color]
Claro que você terá de fazer um tratamento, caso dê erro
mas eu creio que o [Ô][txt-color=#0000f0]Return[/txt-color][Ô] não está sendo reconhecido pela função porque está dentro do bloco [txt-color=#0000f0]Try...Catch[/txt-color]
VINICIUSVB 20/12/2010 13:20:38
#359991
Pegudo voce tem razao. Foi so retirar o Return de detro do bloco Try... Cath que deu certo. Valeu pela dica, ajudou bastante.
Tópico encerrado , respostas não são mais permitidas