Existem duas maneiras de declarar parâmetros formais em VB, uma é ByVal e a outra é ByRef. Se for ByVal, uma cópia do parâmetro real será passada para a sub-rotina ao passar o parâmetro pela sub-rotina. não afeta o parâmetro original. Se for ByRef, o ponteiro do parâmetro real é passado para a sub-rotina, e a modificação do parâmetro pela sub-rotina afetará o valor do parâmetro original.
| Nome do arquivo: | PorVal.asp | PorRef.asp |
| Código específico: | <% SubTestMain() Dim A: A=5 Chamar TestBy(A) Resposta.escrever A Finalizar sub SubTestBy(ByVal T) T=T+1 Terminar sub callTestMain() %> | <% SubTestMain() Dim A: A=5 Chamar TestBy(A) Resposta.escrever A Finalizar sub SubTestBy(ByRef T) T=T+1 Terminar sub callTestMain() %> |
| Resultados em execução: | 5 | 6 |
| para concluir: | Nota: O método de declaração da variável T na sub-rotina TestBy(ByVal T) é ByVal A execução da sub-rotina de resultados não afeta o valor de A | Nota: O método de declaração da variável T na sub-rotina TestBy(ByRef T) é ByRef O valor da execução do resultado A foi alterado através da sub-rotina |