質問

これは、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

他のヒント

ここでいくつかの問題があるように見えます(エラーによる):

  1. ExternalInterfaceはAS3で3つではなく2つの引数を取ります
  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); 
}

理にかなっていますか

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top