Sv: ByRef
ByRef innebär att istället för att skicka ett värde (som kopieras i minnet antar jag?) som ett argument till en funktion så skickar man adressen till variabeln istället (som pekare i c++). Detta innebär att om du ändrar innehållet i variabeln i funktionen så kommer den ursprungliga variabeln att ändras. Två exempel:
<code>
Private Sub Form_Load()
Dim a As Integer
a = 1
test a
Debug.Print a 'Ger resultatet 1
End Sub
Private Sub test(ByVal b As Integer)
b = 2
End Sub
Private Sub Form_Load()
Dim a As Integer
a = 1
test a
Debug.Print a 'Ger resultatet 2
End Sub
Private Sub test(ByRef b As Integer)
b = 2
End Sub
</code>
/Johan
Svara
Sv: ByRef
Man anger att parametern skall skickas som referens. Om funktionen ändrar värdet kommer den att behålla det värdet även när funktionen kört.
Motsvarand finns ByVal vilket istället skickare en kopia av värdet.
Svara