FRECallObjectMethod()

AIR 3.0 和更高版本

用法

FREResult FRECallObjectMethod( 
            FREObject                 object, 
            const uint8_t*                methodName, 
            uint32_t                argc, 
            FREObject                argv[], 
            FREObject*                result, 
            FREObject*                thrownException 
);

参数

object
FREObject,表示对其调用方法的 ActionScript 类对象。

methodName
uint8_t 数组。此数组是一个表示所调用方法的名称的字符串。字符串使用 UTF-8 编码,并以 null 字符终止。

argc
uint32_t,值是传递给方法的参数数量。此参数是 argv 数组参数的长度。当要调用的方法没有任何参数时,值可以是 0。

argv[]
FREObject 数组,每个 FREObject 元素都对应于作为参数传递给所调用方法的 ActionScript 类或基元类型。当要调用的方法没有任何参数时,值可以是 NULL

result
指向 FREObject 的指针。此 FREObject 变量用于接收所调用方法的返回值。FREObject 变量表示所调用方法返回的 ActionScript 类或基元类型。

thrownException
指向 FREObject 的指针。如果调用此方法会导致运行时引发 ActionScript 异常,则此 FREObject 变量表示 ActionScript Error(或 Error 子类)对象。如果未发生错误,则运行时会将此 FREObject 变量设置为无效。即,thrownException FREObject 变量的 FREGetObjectType() 会返回 FRE_INVALID_OBJECT 。如果您不希望处理异常信息,则此指针可以是 NULL

返回

FREResult,可能的返回值包括(但不限于)下列值:

FRE_OK
函数已成功。ActionScript 方法返回值,但未引发异常。

FRE_ACTIONSCRIPT_ERROR
发生 ActionScript 错误。运行时将 thrownException 参数设置为表示 ActionScript Error 类或子类对象。

FRE_ILLEGAL_STATE
扩展上下文已获取一个 ActionScript BitmapData 对象或 ByteArray 对象。在释放 BitmapData 或 ByteArray 对象之前,上下文无法调用此方法。

FRE_INVALID_ARGUMENT
method result 参数为 NULL ,或者 argc 大于 0 但 argv NULL

FRE_INVALID_OBJECT
FREObject 参数或 argv FREObject 元素无效。

FRE_NO_SUCH_NAME
methodName 参数与 object 参数表示的 ActionScript 类对象的方法不匹配。也存在导致返回此值的另一种原因(不太可能)。尤其是,考虑某个 ActionScript 类具有两个名称相同的方法,但这两个名称位于不同的 ActionScript 命名空间中这一不常见的情况。

FRE_TYPE_MISMATCH
FREObject 参数不表示 ActionScript 类对象。

FRE_WRONG_THREAD
从运行时在其中具有对本机扩展函数的未决调用的线程以外的线程调用了方法。

说明

调用此函数可调用 ActionScript 类对象的方法。