Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Ошибка 1009, но объект существует... (http://www.flasher.ru/forum/showthread.php?t=154514)

maxkar 22.04.2011 13:28

Компилятор всего-лишь криво проставляет номера строк в результирующем файле. Повторяется стабильно. Минимальный пример:
Код AS3:

package tests {
import flash.display.Sprite;
 
public class TestAS3Parser extends Sprite {
    public function TestAS3Parser() {
        const n:String = null;
        trace(1);
 
 
        for (var i:int ; i < n.length ; i++)
            trace(i);
    }
}
}

Фикс
Код AS3:

for (var i : int = 0; ...

А то, что 1009 - то да, она есть в той куче кода. Там word == null.

wvxvw 22.04.2011 16:48

Куче? :away:

Спасибо за наводку. Я когда проверял, мне показалось, что номера строк совпадают (на первой странице там листинг есть). Очевидно ошибся.

maxkar 22.04.2011 18:40

Там какое-то дикое количество пустых каталогов было :). Кода и правда немного.

А листинг (и дизассемблированный вариант) приведен на уровень выше по стеку. Он показывает, откуда вызывается read, а проблема в самом read. Вот если его раскрыть, должно быть видно, что на word.length не генерируется информация о номере строки. Видимо, в Адобе решили сэкономить и выдавать debugline только на инициализаторы цикла.

wvxvw 22.04.2011 21:50

А, там фишка в том, что почему-то и менно в этом проекте это случалось несколько раз в разных местах :) Странно, что раньше такое никогда не случалось, а тут просто волна пошла. Там действительно сначала ошибка была выше по стеку. А байткод - это к первому скриншоту (там где фунцкия из вектора функций вызывается).


Часовой пояс GMT +4, время: 10:21.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.