Documentación de Flash CS3 |
|||
| Programación con ActionScript 3.0 > Utilización de la API externa > Utilización de la clase ExternalInterface > El formato XML de la API externa | |||
En la comunicación entre ActionScript y la aplicación que aloja el control ActiveX de Shockwave Flash se utiliza un formato XML específico para codificar las llamadas a las funciones y los valores. El formato XML usado por la API externa tiene dos partes. Se utiliza un formato para representar las llamadas a funciones. El otro se utiliza para representar valores individuales; este formato se emplea para parámetros de funciones y para los valores devueltos por las funciones. El formato XML para llamadas a funciones se utiliza para llamadas desde y hacia ActionScript. En el caso de una llamada a una función desde ActionScript, Flash Player pasa los datos XML al contenedor; cuando se trata de una llamada desde el contenedor, Flash Player espera que la aplicación contenedora pase una cadena XML con este formato. El siguiente fragmento XML muestra un ejemplo de llamada a función con formato XML:
<invoke name="functionName" returntype="xml">
<arguments>
... (individual argument values)
</arguments>
</invoke>
El nodo raíz es invoke, que tiene dos atributos: name indica el nombre de la función que se va a llamar y returntype siempre es xml. Si la llamada a la función incluye parámetros, el nodo invoke tendrá un nodo secundario arguments, cuyos nodos secundarios serán los valores de los parámetros a los que se ha dado el formato de valor individual que se explica a continuación.
Los valores individuales, incluidos los parámetros de las funciones y los valores devueltos por éstas, utilizan un esquema de formato que, además de los valores reales, incluye información sobre los tipos de datos. En la siguiente tabla se indican las clases de ActionScript y el formato XML utilizado para codificar los valores de ese tipo de datos:
|
Clase/Valor de ActionScript |
Clase/Valor de C# |
Formato |
Comentarios |
|---|---|---|---|
|
null |
null |
<null/> |
|
|
Boolean |
bool true |
<true/> |
|
|
Boolean |
bool false |
<false/> |
|
|
String |
string |
<string>valor de cadena</string> |
|
|
Number, int, uint |
single, double, int, uint |
<number>27.5</number>
<number>-12</number>
|
|
|
Array (los elementos pueden ser de varios tipos) |
Un conjunto que admite elementos de varios tipos, como ArrayList u object[] |
<array>
</array>
|
El nodo |
|
Object |
Un diccionario con claves de tipo cadena y valores de objeto, como un objeto HashTable con claves de tipo cadena |
<object>
</object>
|
El nodo |
|
Otras clases incorporadas o personalizadas |
|
<null/>
<object></object>
|
ActionScript codifica otros objetos como null o como un objeto vacío. En ambos casos, los valores de la propiedad se pierden. |
|
NOTA |
|
A modo de ejemplo, esta tabla muestra las clases de C# equivalentes además de las clases de ActionScript; no obstante, la API externa se puede usar para comunicarse con cualquier lenguaje de programación o entorno de tiempo de ejecución compatible con los controles ActiveX y no se limita a las aplicaciones C#. |
Cuando se crean aplicaciones propias utilizando la API externa con una aplicación contenedora ActiveX, suele resultar cómodo escribir un proxy encargado de la tarea de convertir las llamadas a funciones nativas en el formato XML serializado. Puede ver un ejemplo de clase proxy escrito en C# en Dentro de la clase ExternalInterfaceProxy.
Flash CS3
Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios
Página actual: http://livedocs.adobe.com/flash/9.0_es/main/00000344.html