Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Критические отличия компиляции проекта в FlashDevelop от Flash Builder. Есть решение? (http://www.flasher.ru/forum/showthread.php?t=151022)

ChP 21.02.2011 13:58

Критические отличия компиляции проекта в FlashDevelop от Flash Builder. Есть решение?
 
Потребовалось создать во Flex маленькую флешку, назначение которой - быть встроенной в AS3 проект (неважно подгружаться в момент выполнения, либо компиляции).
Экспериментировал на следующем ПО:
1 - Flashdevelop 3.3.4 (3.3.2) + flex_sdk_4.5.0.17689 + flashplayer_10_sa_debug (10.1 и 10.2)
2 - Trial Adobe Flash Builder (burrito)
Также пробовал Release и Debug
Проект Flex состоял из одного файлика следующего содержания (писал на Flex впервые, без претензий)
Код:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
              xmlns:s="library://ns.adobe.com/flex/spark"
              xmlns:mx="library://ns.adobe.com/flex/mx">
       
        <fx:Script>
                <![CDATA[
                        [Bindable]
                        public var labelWidth:String = "50";
                        [Bindable]
                        public var textInputWidth:String = "100";
                ]]>
        </fx:Script>
        <s:VGroup>
                <s:HGroup verticalAlign = "middle">
                        <s:Label text = "hello" fontSize = "20" width = "{labelWidth}"></s:Label>
                        <s:TextInput id = "text1"  fontSize = "20" width = "{textInputWidth}"></s:TextInput>
                </s:HGroup>
                <s:HGroup verticalAlign = "middle">
                        <s:Label text = "world" fontSize = "20" width = "{labelWidth}"></s:Label>
                        <s:TextInput id = "text2" fontSize = "20" width = "{textInputWidth}"></s:TextInput>
                </s:HGroup>
        </s:VGroup>
</s:Application>

Встраивал несколькими способами (Embed, Loader). Возьмем для примера следующий код
Код:

loader = new Loader();
loader.load(new URLRequest("1.swf"))
addChild(loader);

В случае если проект формировался как проект Flex4 в FlashDevelop, то выдается такая ошибка RTE
Код:

Error: Error #2136: SWF-файл file:///D|/My%20Dropbox/Programming/Flash/actual/test/bin/1.swf содержит недопустимые данные.
        at _Main_mx_managers_SystemManager/create()[_Main_mx_managers_SystemManager.as:49]
        at mx.managers.systemClasses::ChildManager/initializeTopLevelWindow()[E:\dev\hero_private_beta\frameworks\projects\framework\src\mx\managers\systemClasses\ChildManager.as:311]
        at mx.managers::SystemManager/initializeTopLevelWindow()[E:\dev\hero_private_beta\frameworks\projects\framework\src\mx\managers\SystemManager.as:2913]
        at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::kickOff()[E:\dev\hero_private_beta\frameworks\projects\framework\src\mx\managers\SystemManager.as:2730]
        at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::preloader_completeHandler()[E:\dev\hero_private_beta\frameworks\projects\framework\src\mx\managers\SystemManager.as:2610]
        at flash.events::EventDispatcher/dispatchEventFunction()
        at flash.events::EventDispatcher/dispatchEvent()
        at mx.preloaders::Preloader/timerHandler()[E:\dev\hero_private_beta\frameworks\projects\framework\src\mx\preloaders\Preloader.as:539]
        at flash.utils::Timer/_timerDispatch()
        at flash.utils::Timer/tick()

В случае компиляции в Flash Builder, а также в FlashDevelop при импорте проекта Flash Builder флешка загружалась без ошибок. Что интересно, при импорте проекта я мог его править в FlashDevelop, пересобирать и он был работоспособен.
Случай когда делаю импорт из проекта Flash Builder можно сравнить опции компилятора, конфиги сборки - все идентично.
Так вот, вопрос в следующем - что нужно сделать, чтобы не прибегать к услугам Flash Builder и полностью вести флексовую часть в FD?

Добавлено через 27 минут
Проблема решилась довольно неожиданно: в проекте AS3 был класс Main.as, а в проекте Flex - Main.mxml. Мой косяк в том, что при тестировании в Flash Builder создал класс test.mxml, и думал что результат будет равнозначным
Тему можно закрывать


Часовой пояс GMT +4, время: 08:56.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.