문제

이것은 내가 함수를 호출하는 데 사용하는 코드입니다. calc 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);
}

하지만 다음과 같은 오류가 발생합니다.

1046 : 유형은 찾을 수 없거나 컴파일 타임 상수가 아니었다 : void.

여기서 내가 뭘 잘못하고 있니? (라이브 문서의 예제를 수정했습니다.)

도움이 되었습니까?

해결책

무효는 하위 사례 여야합니다.

이와 같이:

void

다른 팁

여기에 몇 가지 문제가있는 것처럼 (오류에 의해).

  1. externalinterface는 3이 아닌 AS3에서 두 가지 인수를합니다
  2. "void"는 AS3에서 "void"여야합니다.

따라서 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