Более ранние версии Visual FoxPro передавали массивы COM объектам, таким как Серверам Автоматизации созданные в Visual FoxPro, Visual Basic или Visual C++, по значению. То есть, после вызова метода, элементы массива оставались без изменений, и изменения COM объекта на передавались клиенту. Это ограничение не позволяло передавать большое количество данных между Visual FoxPro и COM объектами.
По умолчанию, предполагается, что массив, передаваемый в COM объект, индексируется с 1, т.е. обращение к первому элементу массивы будет выглядеть, как MyArray[1]
, и передается по значению. Однако, некоторые COM объекты требуют, чтобы массив индексировался с 0, т.е. первый элемент - MyArray[0]
, и передавался по ссылке.
Вы можете указать, как передавать массив серверу автоматизации, используя функцию COMARRAY( ). Для дальнейшей информации смотрите Функция COMARRAY( ).