Очень странная проблема со ScrollPane - PullRequest
0 голосов
/ 07 января 2010

Это сводит меня с ума. Кажется, я не могу использовать ScrollPane ЛЮБОЕ в моем коде AS3 без его сбоя в каждом выпадающем списке в программе.

Вот сообщение об ошибке, которое появляется при нажатии на выпадающий список:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
at fl.containers::BaseScrollPane/drawBackground()
at fl.controls::List/draw()
at fl.core::UIComponent/drawNow()
at fl.controls::List/scrollToIndex()
at fl.controls::SelectableList/scrollToSelected()
at fl.controls::ComboBox/open()
at fl.controls::ComboBox/onToggleListVisibility()

Это происходит при нажатии на ЛЮБОЙ выпадающий список, независимо от того, был ли выполнен код, ссылающийся на ScrollPane. Действительно запаздывающая вещь в том, что я не могу даже объявить переменную scrollPane без того, чтобы она вызывала эти ошибки. IE это:

var x:ScrollPane;

вызывает сбой всех выпадающих меню. И нет, я не пытаюсь ссылаться на x без его инициализации. Инициализация Scrollpanes с использованием 'new' вызывает ту же проблему, а также приведение чего-либо к ScrollPane.

Чтобы обойти это, я создавал полосы прокрутки прямо в fla и ссылался на них из AS. Это не нарушает программу, и я могу получить доступ к их свойствам. Они даже отлично работают таким образом.

Короче говоря, использование слова «ScrollPane» в любом месте программы нарушает его. Это не только моя система. Это происходит как минимум с двумя другими разработчиками, с которыми я работаю.

Есть идеи?


редактирование:

Итак, после некоторого времени, проведенного в сети, большинство людей решают эту проблему, следуя приведенным ниже советам bhups и добавляя компонент в библиотеку. Я добавляю эту вещь в свой основной файл из окна -> компоненты -> ScrollPane, и это действительно появляется в библиотеке. Это все еще не работает. Я даже поставил один экземпляр на сцену, чтобы убедиться, что в нем есть все необходимые символы, но безрезультатно. Кто-нибудь знает какие-либо настройки, которые могут быть неправильными, или что-либо еще, на что я могу посмотреть? При необходимости предоставлю любую информацию.

1 Ответ

2 голосов
/ 07 января 2010

ScrollPane не принадлежит к основным библиотекам ActionScript-3, поэтому перед созданием экземпляра или определением переменной классов Components вам необходимо добавить этот конкретный компонент в свою библиотеку. Вы можете найти источник компонентов в (FLASH_INSTALL_DIR / LANGUAGE / Configuration / Component Source) и пользовательском интерфейсе компонентов в (FLASH_INSTALL_DIR / LANGUAGE / Configuration / Components) папке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...