You can pass variables or array elements as parameters by reference or by value. To change parameters passed to and returned from a UDF, pass by reference. To maintain the original value of parameters passed to a UDF, even if the UDF changes the values within the UDF, pass by value.
By default, Visual FoxPro passes parameters to UDFs by value. Objects are always passed by reference.