BuscaPé, líder em comparação de preços na América Latina
Desenvolvimento de sites , portais ,logomarcas e trabalhos gráficos. Downloads de Apostilas de html, , dreamweaver , flash , php , asp ,  programas, scripts asp , php , cgi , javascript , coldfusion e muitos outros

Saiba onde tem o melhor preço antes de comprar

Passe as variaveis por valor sem ByVal


Leituras: 3060 -



Se você deseja passar as variáveis por valor, para uma Sub ou Function que não teve seus argumentos declarados com ByVal, use '('e ')' em torno da variável que vc está passando como parâmetro.

Veja o código do exemplo. A variával Var2 tem seu valor alterado, porque foi passada por referência (default no VB até a versão 6), enquanto que a variável Var1 não, embora a sub MudaValor não teve seus primeiro argumento declarado como ByVal.

Sub MudaValor(Var1 As String, Var2 As String)

Var1 = "Valor alterado"
Var2 = "Valor alterado"

End Sub

'====================

Private Sub Form_Click()

Dim Var1 As String
Dim Var2 As String

Var1 = "O valor não foi alterado"
Var2 = "O valor não foi alterado"

MudaValor (Var1), Var2

Print Var1
Print Var2

Print

Var1 = "O valor não foi alterado"
Var2 = "O valor não foi alterado"

MudaValor Var1, Var2

Print Var1
Print Var2

End Sub

'===========================

Execute o programa, e no form que abrir, dê um clique no mesmo. O resultado das chamadas à Sub MudaValor aparecerão impressas no próprio form