C O M A R R A Y 函 数 - 图1C O M A R R A Y 函 数 - 图2C O M A R R A Y 函 数

C O M A R R A Y 函 数 - 图3指定 如何向 COM 对象 传递 数组

语 法

C O M A R R A Y ( oObject [, nNewValue ])

返 值 类 型

数值型

参 数 描 述

oObject

C O M A R R A Y 函 数 - 图4对 C O M 对 象 的 一 个 对 象 引 用

nNewValue

C O M A R R A Y 函 数 - 图5C O M A R R A Y 函 数 - 图6C O M A R R A Y 函 数 - 图7指 定 如 何 向 oObjec 指 定 的 C O M 对 象 传 递 数 组 下 表 列 出 了 nNewValue 的设 置 以 及 数 组 是 如 何 传 递 给 C O M 对 象 的

C O M A R R A Y 函 数 - 图8C O M A R R A Y 函 数 - 图9C O M A R R A Y 函 数 - 图10C O M A R R A Y 函 数 - 图11nNewValue 说 明

0

数组是基于零的数组

并且按值传递

1 (Default)

数组是基于 一 的数组

并且按值传递

与早期版本的 Visual FoxPro 兼容

10

数组是基于零的数组

并且按引用传递

11

数组是基于 一 的数组

并且按引用传递

C O M A R R A Y 函 数 - 图12C O M A R R A Y 函 数 - 图13C O M A R R A Y 函 数 - 图14C O M A R R A Y 函 数 - 图15C O M A R R A Y 函 数 - 图16C O M A R R A Y 函 数 - 图17C O M A R R A Y 函 数 - 图18C O M A R R A Y 函 数 - 图19C O M A R R A Y 函 数 - 图20使 用 C O M A R R A Y 时 不 带 nNewValue 参 数 可 以 返 回 当 前 设 置

说 明

C O M A R R A Y 函 数 - 图21C O M A R R A Y 函 数 - 图22C O M A R R A Y 函 数 - 图23C O M A R R A Y 函 数 - 图24C O M A R R A Y 函 数 - 图25C O M A R R A Y 函 数 - 图26早期版本的 Visual FoxPro 只能向 COM 对象 按值传递 数组 另外 向 COM 对象 传递的 数组 也是假设为基于一的 也就是说 数组 中的第一个元素 行和列是用 1 引用的

C O M A R R A Y 函 数 - 图27C O M A R R A Y 函 数 - 图28C O M A R R A Y 函 数 - 图29C O M A R R A Y 函 数 - 图30C O M A R R A Y 函 数 - 图31C O M A R R A Y 函 数 - 图32C O M A R R A Y 函 数 - 图33C O M A R R A Y 函 数 - 图34C O M A R R A Y 函 数 - 图35C O M A R R A Y 函 数 - 图36C O M A R R A Y 函 数 - 图37C O M A R R A Y 函 数 - 图38但是 有些 COM 对象 需要将 数组 按引用传递给它们 或者 数组 是基于零的 数组 中的第一个元素 行和列用 0 引用 或者两者都需要 COMARRAY 允许您指定如何向 COM 对象 传递 数组 并且假设您知道应该如何向 COM 对象 传递数组

C O M A R R A Y 函 数 - 图39C O M A R R A Y 函 数 - 图40注意 只有当使用下列语法向 COM 对象 传递 数组 时才能使用 COMARRAY ( )

oComObject.Method(@MyArray)

C O M A R R A Y 函 数 - 图41C O M A R R A Y 函 数 - 图42C O M A R R A Y 函 数 - 图43C O M A R R A Y 函 数 - 图44C O M A R R A Y 函 数 - 图45如果省略 @ 符号 则只向 COM 对象 传递数组的第一个元素 COMARRAY 函数不起作用

请 参 阅

COMCLASSINFO ( ), CREATEOBJECT( ), GETOBJECT( )