Вы можете передавать любые данные, пременные или элементы массивов, в качестве "аргументов" в процедуры или функции двумя способами: "по-ссылке" или "по-значению" . При передаче параметров по-ссылке, в этих параметрах сохраняются все изменения, которые выполнялись в вызываемой процедуре или функции. При передаче параметров по-значению, в вызываемой процедуре создаются копии передаваемых переменных, над которыми совершаются необходимые операции, исходные данные в вызывающем модуле не изменяются.
По-умолчанию, в Процедуры параметры передаются по-ссылке (команда DO...), а в пользовательские функции (UDFs-User-Defined-Function) - по-значению. Однако, вы можете локально изменить данное правило передачи параметров, но: система Visual FoxPro передает объекты всегда по-ссылке.
![]() |
---|
Когда вы передаете в качестве параметра - массив, то он должен передаваться по-ссылке; при выполнении попытки передачи имени массива по-значению, будет передан только первый элемент массива в вызывающую процедуру, функцию. |