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

 

  Dicas

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

Título da Dica:  parametros ByRef e ByVal
Postada em 5/9/2002 por Darlan Oliveira            
Obs: até a versao .NET as passagem de parametros nas funcoes por default* são por referencia por exemplo:

no modulo BAS declare:
sub funcao(i as integer)
    i = i + 1
end sub

//que equivale a

sub funcao(byRef i as integer)
    i = i + 1
end sub

no form crie um botao e dentro do evento click coloque

dim i as integer
i = 1
call funcao(i)
msgbox i ///i é igual a 2

-------------------
agora mude a sintaxe da funcao para:
sub funcao(ByVal i as integer)
    i = i + 1
end sub
note que apenas o byVal entrou no lugar do ByRef
chamamos a mesma rotina:

dim i as integer
i = 1
call funcao(i)
msgbox i ///i é igual a 1

observem a diferenca. Isto acontece pois o parametro i no primeiro caso foi passado atraves do que se chama ponteiro, ou seja, ele apontou para a posicao de memoria.
Quando se cria uma variavel ela armazena uma posicao de memoria.
ex:

estrutura de uma variavel

label   - posicao de memoria      -  valor
i         xx                      -   1

estrutura de um ponteiro

label   - posicao de memoria que esta apontada
i       - xx

ou seja, NÃO há valor em um ponteiro e sim apenas um apontamento para a posicao de memoria onde esta o valor e quando se muda o valor do conteudo do ponteiro esta se mudando na verdade o valor de onde ele aponta, capit!

quem quiser saber mais sobre esse assunto mande um e-mail para darlan@atlas.ucpel.tche.br

*default vem do frânces  'na falta de': isto que é cultura :)
 


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