Показать сообщение отдельно
Старый 23.11.2009, 22:34
mayakwd вне форума Посмотреть профиль Отправить личное сообщение для mayakwd Посетить домашнюю страницу mayakwd Найти все сообщения от mayakwd
  № 1  
Ответить с цитированием
mayakwd
 
Аватар для mayakwd

Регистрация: Jul 2008
Адрес: t:2, x: 0.76
Сообщений: 553
Отправить сообщение для mayakwd с помощью ICQ Отправить сообщение для mayakwd с помощью Skype™
По умолчанию CS4 Components + Flex 4 SDK

Создаем ui.swc следующим путем:
В Flash CS4 IDE создаем новый fla запихиваем в библиотеку все необходимые компоненты.
В параметрах экспорта ставим Export SWC, экспортим и радуемся но не долго.

Подключая swc при компиляции используем элементарный код:

Код AS3:
package {
	import fl.controls.Button;
	import flash.display.Sprite;
 
	public class TestApp extends Sprite {
 
		public function TestApp() {
			super();
			var button : Button = new Button();
			addChild(b);
		}
	}
}
Компилирую с такими параметрами:

-sp src
-sp $FlashConfig/UIComponents
-library-path libs/ui.swc
-library-path $Flex4SDK/frameworks/libs/player/10/playerglobal.swc
-target-player=10
-debug=true

В итоге получаю эксепшн о том что parameter child must be non null.
Проверяю элементарно экпортятся ли ассеты:
Код AS3:
 var buttonSkin : MovieClip = new Button_upSkin();
 addChild(buttonSkin);
Компилятор ругается и говорит что с такими он не знаком и не хочет быть знаком.
Сидим и долго думаем, почему... Путем межевания мыслей приходим к решению: если убрать:
-sp $FlashConfig/UIComponents

То компилятор обращается уже к экcпортированным в swc классам и находит там и Button_upSkin и не Button_overSkin и т.д. и т.п.

Внимание вопрос: почему так происходит, и как этого избежать? Экспортировать только assets в swc или просто напросто не включать исходные пути в пути компилятора?

Или есть решение элегантнее?
__________________
Блог, Twitter
Брюзга.