Вы можете передавать любые данные, пременные или элементы массивов, в качестве "аргументов" в процедуры или функции двумя способами: "по-ссылке" или "по-значению" . При передаче параметров по-ссылке, в этих параметрах сохраняются все изменения, которые выполнялись в вызываемой процедуре или функции. При передаче параметров по-значению,  в вызываемой процедуре создаются копии передаваемых переменных, над которыми совершаются необходимые операции, исходные данные в вызывающем модуле не изменяются.

По-умолчанию, в Процедуры параметры передаются по-ссылке (команда DO...), а в пользовательские функции (UDFs-User-Defined-Function) - по-значению. Однако, вы можете локально изменить данное правило передачи параметров, но: система Visual FoxPro передает объекты всегда по-ссылке.

NoteОбратите внимание

Когда вы передаете в качестве параметра - массив, то он должен передаваться по-ссылке; при выполнении попытки передачи имени  массива по-значению, будет передан только первый элемент массива в вызывающую процедуру, функцию.

См. также