Вопрос

Это код, который я использую для вызова функции 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 должен быть в нижнем регистре.

Вот так:

void

Другие советы

Похоже (по вашей ошибке) у вас здесь есть пара проблем:

<Ол>
  • ExternalInterface принимает два аргумента в AS3, а не три
  • <Литий> & Quot; Пустота & Quot; должно быть "недействительным" в 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