Flash CS3 ドキュメンテーション |
|||
| ActionScript 3.0 のプログラミング > External API の使用 > ExternalInterface クラスの使用 > External API の XML フォーマット | |||
Shockwave Flash ActiveX コントロールをホストするアプリケーションと ActionScript 間の通信では、関数呼び出しと値をエンコードする際に専用の XML フォーマットが使用されます。External API で使用される XML フォーマットには 2 つの部分があります。1 つのフォーマットは、関数呼び出しを表すために使用されます。もう 1 つのフォーマットは個々の値を表しています。このフォーマットは、関数のパラメータおよび関数の戻り値に使用されます。関数呼び出し用の XML フォーマットは、ActionScript との間の呼び出しに使用されます。ActionScript からの関数呼び出しに対して、Flash Player は XML をコンテナに渡します。コンテナからの呼び出しに対しては、Flash Player はこのフォーマットで XML ストリングを渡すコンテナアプリケーションが必要になります。次の XML は、XML フォーマットされた関数呼び出しの例を示しています。
<invoke name="functionName" returntype="xml">
<arguments>
... (individual argument values)
</arguments>
</invoke>
ルートノードは invoke ノードです。name は関数呼び出しの名前を表し、returntype は常に xml になります。関数呼び出しにパラメータが含まれている場合、invoke ノードには arguments 子ノードができます。さらにその子ノードは、次に説明する個別の値フォーマットを使用してフォーマットされたパラメータになります。
関数のパラメータや関数の戻り値などの個々の値では、実際の値に加えてデータ型情報を含んだフォーマッティングスキームが使用されます。次の表に、ActionScript クラス、およびそのデータ型の値のエンコードに使用する XML フォーマットの一覧を示します。
|
ActionScript のクラスまたは値 |
C# のクラスまたは値 |
フォーマット |
コメント |
|---|---|---|---|
|
null |
null |
<null/> |
|
|
Boolean |
bool true |
<true/> |
|
|
Boolean |
bool false |
<false/> |
|
|
String |
string |
<string>ストリング値</string> |
|
|
Number、int、uint |
single、double、int、uint |
<number>27.5</number>
<number>-12</number>
|
|
|
Array (エレメントは型の混在可) |
ArrayList や object[] など、エレメントの型の混在が可能なコレクション |
<array>
</array>
|
|
|
Object |
ストリングキー付きの HashTable など、ストリングキーとオブジェクト値のある辞書 |
<object>
</object>
|
|
|
その他のビルトインクラスまたはカスタムクラス |
|
<null/>
<object></object>
|
ActionScript では他のオブジェクトが null または空のオブジェクトとしてエンコードされます。いずれの場合も、すべてのプロパティ値が失われます。 |
|
メモ |
|
この表では、ActionScript クラスに加えて同等の C# クラスを例示していますが、External API は、C# アプリケーションに限定されることなく、ActiveX コントロールをサポートする任意のプログラミング言語やランタイムとの通信に使用できます。 |
External API と ActiveX コンテナアプリケーションを使用して独自のアプリケーションを構築している場合は、ネイティブ関数の呼び出しを直列化 XML 形式に変換できるプロキシを作成すると便利です。C# で記述されたプロキシクラスの例については、ExternalInterfaceProxy クラスの内部を参照してください。
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000344.html