Mit ByVal wird der Wert übergeben, aber nicht direkt.
Der Wert wird kopiert und auf dem Framesize abgelegt. Die Routine bekommt über den SWStack die Adresse auf diesen Wert im Framesize.
Mit ByRef wird der Wert als Referenz übergeben, also die Adresse.
Es wird also keine Variable im Framesize abgelegt.
Trotzdem wird die Adresse der Variablen auf dem SWStack übergeben.
Vorteil mit ByVal. Der Origina-Wert wird nicht verändert, auch wenn du dem Parameter in der Sub/Funktion einen Wert zuweist.
Mit Byref wird der Original-Wert überschrieben, wenn du in der Sub/Function dem Parameter einen Wert zuweist.
Vorteil mit Byref: Man kann auch durch per Sub oder Functions-Parameter Werte zurück geben.
Man muss aber die Funktionsweise verstanden haben.
Der Wert wird kopiert und auf dem Framesize abgelegt. Die Routine bekommt über den SWStack die Adresse auf diesen Wert im Framesize.
Mit ByRef wird der Wert als Referenz übergeben, also die Adresse.
Es wird also keine Variable im Framesize abgelegt.
Trotzdem wird die Adresse der Variablen auf dem SWStack übergeben.
Vorteil mit ByVal. Der Origina-Wert wird nicht verändert, auch wenn du dem Parameter in der Sub/Funktion einen Wert zuweist.
Mit Byref wird der Original-Wert überschrieben, wenn du in der Sub/Function dem Parameter einen Wert zuweist.
Vorteil mit Byref: Man kann auch durch per Sub oder Functions-Parameter Werte zurück geben.
Man muss aber die Funktionsweise verstanden haben.