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