>>>Does anyone know of a way to determine if a variable has been passed to a function by reference or by value. This is a run-time question.
>>>For example:
>>>
>>>local a
>>>a='test'
>>>=Test(@a)
>>>=Test(a)
>>>
>>>procedure Text
>>>lparameter b
>>>*-- here, i would like to verify that the variable 'a' was passed to 'b' as by reference.
>>>...
>>>
>>
>>Take a look at this
>>
http://berezniker.com/content/pages/visual-foxpro/difference-between-function-and-procedure-statements>
>Does that answer the question ?
IMO, it does not - it's the full list of how passing parameters in Fox works, from the caller's side. What we need here is the callee side, where I don't know of a way to distinguish between a passed value and a passed reference. Either way, the callee receives a pointer to a memory block where the value resides; it's the actual status of the value (is it a pointer to the same location where the value of a passed variable resides, or to a copy of a value that is assigned to a parameter) that I don't see how to distinguish, without knowing Fox source code.