Documentazione di Flash CS3 |
|||
| Programmazione in ActionScript 3.0 > Uso dell'API esterna > Uso della classe ExternalInterface > Il formato XML dell'API esterna | |||
La comunicazione tra ActionScript e un'applicazione che contiene il controllo ActiveX di Shockwave Flash utilizza un formato XML specifico per codificare le chiamate alle funzioni e i valori. Il formato XML utilizzato dall'API esterna è suddiviso in due parti. Un formato viene utilizzato per rappresentare le chiamate alle funzioni. Un altro viene utilizzato per rappresentare i singoli valori; questo formato viene utilizzato per i parametri nelle funzioni, nonché per i valori restituiti da queste ultime. Il formato XML per le chiamate alle funzioni viene utilizzato per le chiamate verso e da ActionScript. Per una chiamata a una funzione proveniente da ActionScript, Flash Player passa l'XML al contenitore; per una chiamata proveniente dal contenitore, Flash Player prevede che l'applicazione contenitore passi una stringa XML in questo formato. Il frammento XML seguente mostra un esempio di chiamata a una funzione in formato XML:
<invoke name="functionName" returntype="xml">
<arguments>
... (individual argument values)
</arguments>
</invoke>
Il nodo radice è il nodo invoke e ha due attributi: name indica il nome della funzione da chiamare, mentre returntype è sempre xml. Se la chiamata alla funzione comprende dei parametri, il nodo invoke ha un nodo arguments secondario, i cui nodi secondari sono costituiti dai valori di parametro formattati utilizzando il formato dei singoli valori illustrato di seguito.
I singoli valori, compresi i parametri della funzione e i valori da essa restituiti, utilizzano uno schema di formattazione che oltre ai valori effettivi include le informazioni sul tipo di dati. L'elenco seguente illustra le classi ActionScript e il formato XML utilizzato per codificare i valori per tale tipo di dati:
|
Classe/valore ActionScript |
Classe/valore C# |
Formato |
Commenti |
|---|---|---|---|
|
null |
null |
<null/> |
|
|
Boolean |
bool true |
<true/> |
|
|
Boolean |
bool false |
<false/> |
|
|
String |
string |
<string>valore stringa</string> |
|
|
Number, int, uint |
single, double, int, uint |
<number>27.5</number>
<number>-12</number>
|
|
|
Array (gli elementi possono essere di tipi diversi) |
Una raccolta che consente l'uso di elementi di tipi diversi, quale ArrayList oppure object[] |
<array>
</array>
|
Il nodo |
|
Object |
Un dizionario con chiavi in formato stringa e valori oggetto, quale HashTable con chiavi in formato stringa |
<object>
</object>
|
Il nodo |
|
Altre classi incorporate o personalizzate |
|
<null/>
<object></object>
|
ActionScript codifica gli altri oggetti come null o come un oggetto vuoto. In entrambi i casi, qualunque valore di proprietà va perso. |
|
NOTA |
|
A titolo di esempio, oltre alle classi ActionScript questa tabella mostra le classi C# equivalenti; tuttavia, l'API esterna può essere utilizzata per comunicare con qualunque linguaggio di programmazione o ambiente di runtime che supporti i controlli ActiveX e non si limita alle applicazioni C#. |
Quando si creano delle applicazioni che utilizzano l'API esterna con un'applicazione contenitore ActiveX, probabilmente è più comodo scrivere un proxy che esegua l'operazione di conversione delle chiamate alle funzioni native nel formato XML serializzato. Per un esempio di una classe proxy scritta in C#, vedere Funzionamento della classe ExternalInterfaceProxy.
Flash CS3
Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti
Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/main/00000344.html