FRECallObjectMethod()

AIR 3.0 以降

使用方法

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

パラメーター

object
メソッドを呼び出す ActionScript クラスオブジェクトを表す FREObject。

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 クラスオブジェクトまたは Error サブクラスオブジェクトを表すように設定します。

FRE_ILLEGAL_STATE
拡張コンテキストは既に ActionScript BitmapData または ByteArray オブジェクトを取得しています。この BitmapData または ByteArray オブジェクトを解放するまでは、コンテキストはこのメソッドを呼び出すことはできません。

FRE_INVALID_ARGUMENT
method または result パラメーターが NULL であるか、 argc が 1 以上かつ argv NULL です。

FRE_INVALID_OBJECT
FREObject パラメーターまたは argv の FREObject エレメントは無効です。

FRE_NO_SUCH_NAME
methodName パラメーターは、 object パラメーターが表す ActionScript クラスオブジェクトのメソッドと一致しません。可能性は低いですが、この戻り値の理由は他にもあります。具体的には、ActionScript クラスに 2 つの同名のメソッドがあるものの、これらが異なる ActionScript 名前空間のものであるという、稀なケースが考えられます。

FRE_TYPE_MISMATCH
FREObject パラメーターは ActionScript クラスオブジェクトを表していません。

FRE_WRONG_THREAD
ランタイムにネイティブ拡張関数に対する未実行の呼び出しがあるスレッドとは別のスレッドから、メソッドが呼び出されました。

説明

ActionScript クラスオブジェクトのメソッドを呼び出すには、この関数を呼び出します。