Frage

Dies ist der Code Ich verwende eine Funktion calc in Javascript zu nennen:

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);
}

, aber ich erhalte den folgenden Fehler:

  

1046: Typ wurde nicht gefunden oder war keine Kompilierungszeit-Konstante. Void

Was mache ich hier falsch? (I modifiziert, um das Beispiel auf Live-docs.)

War es hilfreich?

Lösung

Void sollte Klein.

Wie folgt aus:

void

Andere Tipps

Sieht aus (durch Ihre Fehler), wie Sie ein paar Probleme haben sich hier:

  1. ExternalInterface zwei Argumente in AS3, nicht drei
  2. "Void" sollte "Leere" in AS3 sein

Ihr also unter der Annahme, JavaScript-Code waren so etwas wie folgt aus:

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

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

... Ihre entsprechenden Actionscript-3-Code sollte etwas mehr wie folgt aussehen:

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); 
}

Sinn?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top