[Редактировать: Короткая версия - как правильно обрабатывать коллизии пространства имен в файлах SWC, если один SWC имеет меньше классов из этого пространства имен, чем другой?]
У меня довольно большое приложение Flash, которое я создаю в Flash Builder (потому что кодирование / отладка в Flash IDE ... не очень хорошо), и у меня есть тонна внешних SWC-файлов, на которые я ссылаюсь в моем заявлении. До сих пор это хорошо работало - размер файла большой, но это намного проще, чем загрузка в SWF-файлы, тем более что я расширяю большинство классов в каждом SWC и добавляю собственный код таким образом (это очень Тяжелое приложение.) У меня проблема, когда у меня есть компоненты Flash, такие как ComboBox или TextInput, в более чем одном SWC. Какой бы SWC не был скомпилирован последним, он будет работать нормально, но другие не будут работать с ошибками, подобными следующим:
TypeError: Error #1034: Type Coercion failed: cannot convert flash.display::MovieClip@1f21adc1 to fl.controls.TextInput.
at flash.display::Sprite/constructChildren()
at flash.display::Sprite()
at flash.display::MovieClip()
at com.company.design.login::LoginForm()
at com.company.view::Login()[/Users/ken/Workspace/src/com/company/view/Login.as:22]
at com.company.view::Main/showLogin()[/Users/ken/Workspace/src/com/company/view/Main.as:209]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at com.company.view::Navigation/handleUIClick()[/Users/ken/Workspace/src/com/company/view/Navigation.as:88]
Я исследовал компоненты, ComponentShim и т. Д., Но я бегу к кирпичной стене. Я подумал, что это может быть тот факт, что некоторые компоненты имеют свои измененные скины в исходном FLA, поэтому я попытался заменить их скинами по умолчанию, но, похоже, это не помогло. Как я могу гарантировать, что у меня есть компоненты, импортированные и доступные для всех моих классов, и в то же время я могу их обрабатывать и включать в свои различные FLA? (Я никогда не создаю их новые экземпляры, они все выложены моим дизайнером.)