外部インターフェイスエラー
-
22-07-2019 - |
質問
これは、javascriptで関数 calc
を呼び出すために使用しているコードです。
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);
}
しかし、次のエラーが表示されます:
1046:型が見つからないか、コンパイル時定数ではありません:Void。
ここで何が間違っていますか? (ライブドキュメントの例を変更しました。)
解決
ボイドは小文字である必要があります。
これに似ています:
void
他のヒント
ここでいくつかの問題があるように見えます(エラーによる):
- ExternalInterfaceはAS3で3つではなく2つの引数を取ります
- " Void" " void" AS3で
したがって、JavaScriptコードは次のようになります。
function myJSFunction()
{
myFlashObject.asFunc("Hello!");
}
function calc(s)
{
// ...
}
...対応するActionScript 3コードは次のようになります。
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);
}
理にかなっていますか
所属していません StackOverflow