Externe Interface Error
-
22-07-2019 - |
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.)
Lösung
Void sollte Klein.
Wie folgt aus:
void
Andere Tipps
Sieht aus (durch Ihre Fehler), wie Sie ein paar Probleme haben sich hier:
- ExternalInterface zwei Argumente in AS3, nicht drei
- "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