Вход

Просмотр полной версии : Использование ModuleBase в проекте


inozemcev
10.09.2010, 18:56
Добрый день, всем.

Только начинаю знакомится с модульной архитектурой flex.

При компиляции отдельного модуля столкнулся со следующей проблемой: При попытке включить в модуль какой либо компонент флекс, компилятор выдает следующую ошибку:

[Fault] exception, information=Error: Could not find compiled resource bundle 'components' for locale 'en_US'.


import flash.display.DisplayObject;
import flash.display.Sprite;
import mx.controls.Button;
import mx.modules.ModuleBase;

public class SecondModule extends ModuleBase
{

public function SecondModule()
{
trace ('SecondModule::constructor');
}


public function getDisplayObject () :DisplayObject
{
var button:Button = new Button ();
return new Sprite;
}


}


Немного поискав в интернетах и подумав, я подозреваю что класс расширяющий ModuleBase каким то особым образом работает c Runtime Shared Libraries (RSLs)
Возможно недогружает необходимые библиотеки.

В связи с чем возникает вопрос, как работать с pure as3 модулями и как их безболезненно добавлять во flex проект? В частности как добавлять на сцену не flexовый displayObject ?

Bond007
11.09.2010, 19:13
Совершенно не понятно что не получается, в чем вопрос.
Вот что то изобразил
ссылка (http://**********/2594751)

alatar
11.09.2010, 20:27
Возможно недогружает необходимые библиотеки.
Не верно. Эта ошибка возникает когда компилятор не находит файлов локали, в которых перечислены тексты ошибок.

inozemcev
15.09.2010, 19:12
пример с SecondModule не катит, потому что SecondModule должен быть заранее собран в SecondModule.swf и загружен через moduleLoader

<?xml version="1.0" encoding="utf-8"?>
<!-- modules/MySimplestModuleLoader.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:ModuleLoader url="FirstModule.swf" width="50%" height="100%" />
</mx:Application>

Ошибка судя по всему в sdk 4 потому что sdk 3.5 компилирует без проблем