Я работаю над функцией для приложения, которое требует функциональности Flex 4.Из-за некоторых проблем с переносом приложения с Flex 3.5 на 4.0 я решил реализовать эту функцию в виде модуля, скомпилированного с Flex 4.0.Теория состоит в том, что приложение останется скомпилированным во Flex 3.5 и загрузит модуль, когда ему это потребуется.
Вот код загрузки модуля:
public function loadDiagModule():void {
var moduleLoader:ModuleLoader = new ModuleLoader();
moduleLoader.url = "module/DiagrammerModule.swf";
moduleLoader.loadModule();
moduleLoader.addEventListener(ModuleEvent.READY, onModuleReady);
}
protected function onModuleReady( moduleEvent:ModuleEvent ):void
{
var moduleInfo:IModuleInfo = moduleEvent.module;
var sample:IDiagrammerModule = moduleInfo.factory.create() as IDiagrammerModule;
Application.application.addChild(sample.testRender());
}
К сожалению, я сталкиваюсь со временем выполненияошибка при загрузке модуля в приложении:
VerifyError: Error #1014: Class mx.modules::ModuleBase could not be found.
at flash.display::MovieClip/nextFrame()
at mx.core::FlexModuleFactory/deferredNextFrame()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\core\FlexModuleFactory.as:631]
at mx.core::FlexModuleFactory/update()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\core\FlexModuleFactory.as:401]
at mx.core::FlexModuleFactory/moduleCompleteHandler()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\core\FlexModuleFactory.as:718]
Я подозреваю, что это может быть результатом несоответствия в определении класса ModuleBase в Flex 3.5 и 4.0.Есть ли какие-то изменения в конфигурации моего приложения и / или проекта модуля, которые бы исправили эту ошибку?
Вот некоторая информация о моей конфигурации: IDE: Плагин Flash Builder 4
Проект приложения
- SDK: Flex 3.5
- фреймворк платформы: объединен в код
- Дополнительные аргументы компилятора: -locale = en_US, ja_JP -source-path =. / Locale / {locale}
Модуль проекта
- SDK: Flex 4.0
- Framework Framework: использовать SDK по умолчанию (общая библиотека времени выполнения)
- Copy non- встроенные файлы в выходной файл: true
- Создание доступного SWF-файла: true
- Дополнительные аргументы компилятора: -locale en_US