Как использовать внешние классы ActionScript во FlashBuilder (думал, я знал) - PullRequest
1 голос
/ 30 января 2011

Я пытаюсь внедрить CSVLib в приложение Air и получаю сообщение об ошибке, которое кажется мне совершенно нелогичным.

"1120: доступ к неопределенному свойству csv."и «1120: доступ к неопределенному свойству completeHandler.»

Единственное, что я могу думать, это то, что он неправильно импортирует класс csv, или сам класс каким-то образом поврежден?Я знаю, что мой путь импорта правильный, потому что я набрал его напрямую на основе автоматической подсказки.Приведенный ниже код скопирован непосредственно из практических вики на сайте csv lib.

Или вам нужно что-то особенное, чтобы внешние классы ActionScript работали в flashbuilder?

1 Ответ

1 голос
/ 30 января 2011

В этом случае проблема в другом месте.Тег fx:Script находится в файле MXML, который представляет определение класса.

Ваша ошибка происходит, потому что у вас есть код в определении класса (т. Е. Вне метода).Вместо этого вы можете написать это, например:

<fx:Script>
    <![CDATA[
        import com.shortybmc.*;
        import com.shortybmc.data.parser.CSV;

        private var csv:CSV;
        private function init ():void
        {
            csv = new CSV();
            csv.addEventListener (Event.COMPLETE, completeHandler);
            csv.load (new URLRequest('example-2.csv'));
        }

        private function completeHandler (event: Event):void
        {
            trace ( csv.data.join('\r') );
            // do something ...
        }
    ]]>
</fx:Script>

Затем вам нужно убедиться, что метод init действительно вызван;Вы можете сделать это в полном обработчике вашего объекта MXML.

...