Ошибка вспышки #1034: Тип принуждения не удалось при запуске с разработкой Flash
-
10-10-2019 - |
Вопрос
Я собрал SWC и использую его в проекте FlashDevelop.
Когда я составляю проект, все в порядке, но когда я запускаю/отлаживает проект, который я получаю:
[Fault] exception, information=TypeError: Error #1034: Type Coercion failed: cannot convert flash.display::MovieClip@43e3f99 to fl.controls.Button.
Следующая строка вызывает ошибку:
public var loginPanel:loginControl = new loginControl();
LogincontrolView - это имя MovieClip. LogincontrolView - это имя актива. И есть класс под названием LoginControl, который расширяет LoginControlView
LoginConControlView Movieclip содержит 2 текстовых поле и кнопку (fl.controls)
Проект работает нормально, если я составляю/запустить/отладку из Flash IDE.
Какие-либо предложения?
Решение
Хорошо, я нашел решение. В мои пути классов был включен путь к папке FL.Controls установки Flash. Но Fl.controls, где также экспортируются с моим SWC. Я предполагаю, что наличие двух определений одного и того же класса вызывает проблему, потому что, когда я снял, что все работа работала нормально.
Другие советы
Как вы, наверное, знаете, пакет fl.controls содержит компоненты для Flash Professional CS5 и раньше, который Можно Будьте использоваться во флэш -разработке путем объединения компонентов в .SWC: Как использовать Adobe Control от fl.controls.* В Flashdevelop?
Поскольку ваш проект компилируется в Flash Professional без ошибок, проблема должна лежать в экспортируемых fl.controls.* .swc.
Вместо использования fl.contros.* .swc, поскольку вы используете Flash Develop, вы можете использовать Spark.controls Package или же MX.Controls Package Из Flex 4.1 SDK. Оба пакета включают в себя кнопку и классы TextInput.