У меня была проблема, которая много раз мучила меня во время разработки Flash-проекта. Это выглядит примерно так:Каков правильный способ добавления компонентов в библиотеку Swf?
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at fl.containers::BaseScrollPane/fl.containers:BaseScrollPane::drawBackground()
at fl.controls::TileList/fl.controls:TileList::draw()
at fl.core::UIComponent/::callLaterDispatcher()
TypeError: Error #2007: Parameter child must be non-null.
at flash.display::DisplayObjectContainer/addChildAt()
at fl.controls::BaseButton/fl.controls:BaseButton::drawBackground()
at fl.controls::BaseButton/fl.controls:BaseButton::draw()
at fl.core::UIComponent/drawNow()
at fl.controls::ScrollBar/fl.controls:ScrollBar::draw()
at fl.core::UIComponent/::callLaterDispatcher()
Теперь, в моем случае, эта ошибка происходит от инициализации компонентов в коде, когда они не были явно добавлены в компоненте библиотеки FLA в CS4. Раньше я сталкивался с этой проблемой при попытке динамически создавать ScrollPanes в коде. Я решил это, добавив компоненты ScrollPane в мою библиотеку Main.fla. Казалось, это работает некоторое время.
Теперь я пытаюсь использовать окно автозаполнения AstraFlash. Я импортировал правильные файлы fla в CS4 и поместил в автозаполнение окно в Swf. Все строит отлично, но вышеупомянутая ошибка возникает при загрузке Swf. Моя мысль заключается в том, что окно автозаполнения пытается создать ScrollPane как часть его функциональности. Хорошо, я понимаю это, поэтому я добавляю компонент ScrollPane в библиотеку с одинаковыми результатами.
Обычно я просто связываюсь с библиотечными компонентами/настройками, пока не избавлюсь от ошибки, но мне не нравится это делать, и я хочу знать правильный способ решения проблемы. Итак, вот несколько вопросов, которые у меня есть:
Когда вам требуется добавить компонент в библиотеку в FLA, а не просто создание компонента в коде?
Какой фланец вам нужен для добавления компонента? Только тот, кто его использует? Или все родители этой Фла?
Предположим, что для компонента Autocomplete требуется компонент ScrollPane. Почему эта зависимость не распознается при добавлении одного компонента? Почему я должен явно добавить его?
В чем разница между добавлением компонента в библиотеку и добавлением его в папку «Ресурсы компонента» библиотеки? Какова цель этой папки?
Мне действительно нужен этот компонент автозаполнения для работы. Предполагая, что код AS3 верен, и я все еще получаю вышеуказанную ошибку, какие настройки, по вашему мнению, вероятно, неверны? Из-за разочарования я попытался добавить все возможные компоненты в библиотеку, а также в папку с ресурсами компонентов библиотеки, чтобы иметь исходную точку, но я все еще получаю ошибку.
Любая помощь приветствуется.