Domanda

Questo è il codice che sto usando per chiamare una funzione calc in javascript:

import flash.external.ExternalInterface;

ExternalInterface.addCallback("asFunc", this, asFunc); 

function asFunc(str:String):Void {
    out.text = "JS > Hello " + str;
}

send_btn.addEventListener(MouseEvent.CLICK, clickListener);

function clickListener(eventObj:Object):Void {
    trace("click > " + mean.text);
    ExternalInterface.call("calc", mean.text);
}

ma viene visualizzato il seguente errore:

  

1046: il tipo non è stato trovato o non era una costante di compilazione: Void.

Cosa sto facendo di sbagliato qui? (Ho modificato l'esempio sui documenti live.)

È stato utile?

Soluzione

Il vuoto deve essere minuscolo.

In questo modo:

void

Altri suggerimenti

Sembra (per errore) che tu abbia un paio di problemi qui:

  1. ExternalInterface accetta due argomenti in AS3, non tre
  2. " Void " dovrebbe essere "vuoto" in AS3

Quindi supponendo che il tuo codice JavaScript fosse qualcosa del genere:

function myJSFunction()
{
    myFlashObject.asFunc("Hello!");
}

function calc(s)
{
    // ...
}

... il codice ActionScript 3 corrispondente dovrebbe assomigliare di più a questo:

import flash.external.ExternalInterface; 

function myInitializationHandler():void
{   
    ExternalInterface.addCallback("asFunc", asFunc); 
    myFlexButton.addEventListener(MouseEvent.CLICK, clickListener); 
}

function asFunc(str:String):void 
{ 
    //... 
}

function clickListener(event:MouseEvent):void 
{ 
    // ...
    ExternalInterface.call("calc", myFlexTextInput.text); 
}

Ha senso?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top