외부 인터페이스 오류
-
22-07-2019 - |
문제
이것은 내가 함수를 호출하는 데 사용하는 코드입니다. 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
다른 팁
여기에 몇 가지 문제가있는 것처럼 (오류에 의해).
- externalinterface는 3이 아닌 AS3에서 두 가지 인수를합니다
- "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);
}
이해가 되나요?
제휴하지 않습니다 StackOverflow