USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  Visual Basic.Net    (Declarações/Variáveis)

Título da Dica:  Passagem de parâmetros
Postada em 9/10/2003 por ~Ð@®£@Ñ            
Você lembra como era a passagem de parâmetros para funções/ procedimentos no VB 6.0 ??? Esqueceu ???

Vou refrescar sua memória ....  !!!

No VB 6.0 quando passamos um parâmetro , se não for definido se o parâmetro é passado por valor - ByVal - ou por referência - ByRef - o VB assume como padrão que o parâmetro vai ser passado por referência (ByRef).

Você se lembra que quando passamos um parâmetro por referência o parâmero pode ter o seu valor alterado dentro da função/procedimento chamada. ? Deve lembrar também que isto pode trazer muitas dores de cabeça para você ...

Quer ver o porque ??? Então estudo o código abaixo e responda a seguinte pergunta :

" Qual vai ser o valor da variável X ??? "

Private Sub Form_Load()
Dim x As Integer
Dim y As Integer

x = 10
y = Passa_Parametro_Por_Referencia(x)

MsgBox " y é igual a " & y & vbCrLf & " x é igual a " & x, vbCritical, "Passagem de parametros ByRef"


End Sub          

Function Passa_Parametro_Por_Referencia(valor As Integer) As Integer

valor = valor + 10
Passa_Parametro_Por_Referencia = valor

End Function



Execute o projeto e você verá o seguinte resultado :

Percebeu que o valor da variável X foi alterado na função - Passa_Parametro_Por_Referencia
Isto acontece por que quando passamos a variável A como parâmetro para a função o VB 6.0 passou o parâmetro por referência , visto que não informamos nada a respeito.


No VB.NET não temos este problema por que o padrão da passagem de parâmetros no VB.NET é sempre Por Valor (ByVal)

O mesmo código acima executado no VB.NET irá retornar para a variável X o valor igual a 10. Ou seja o valor original da variável X é mantido após a chamada da função...

Então lembre-se o padrão da passagem de parâmetros no VB é sempre por valor.

até a próxima dica ...
 


CyberWEB Network Ltda.    © Copyright 2000-2020   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página