Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Использовать flex классы в Flash IDE (http://www.flasher.ru/forum/showthread.php?t=132764)

Волгоградец 19.11.2009 18:38

Использовать flex классы в Flash IDE
 
Привет. Тема поднималась, но с ходу не нашел. Интересует вот что - в одной из статей наткнулся на такую фразу:
Цитата:

Finally, Flash has provided the features in CS4 to allow users to use any Flex components that does not rely on Flex framework such as Flex WebService component and HTTPService.
А как узнать какой компонент rely, а какой нет?
Вообще интересует DragManager, возможно ли?

wvxvw 19.11.2009 19:02

Скомпилировать с -link-report и посмотреть, что в зависимостях значится.

Волгоградец 20.11.2009 12:20

Скомпилировал, и как теперь определить что компонент не зависит от Flex framework?

wvxvw 20.11.2009 15:18

Смотрите в полученый XML. В нем находите объявление нужного вам класса (в теге <script>), смотрите во вложенные теги <dep>, находите класс, который там значится в том же XML, и повторяете процедуру, пока не найдете все зависимости...

Есть еще вариант - просто попробовать скомпилировать и посмотреть на что будет ругаться :) Да, для анализа линк-репорта кто-то делал утилиту на AIR: http://www.kahunaburger.com/2008/03/...rt-visualizer/
Не знаю, я 1 раз попользовался, и решил, что мне просто XML нагляднее. Но опять же, кому как.

Волгоградец 20.11.2009 16:23

Но все равно не понятно. Повторю цитату:
Цитата:

Finally, Flash has provided the features in CS4 to allow users to use any Flex components that does not rely on Flex framework such as Flex WebService component and HTTPService.
Что я делаю - создаю класс, где объявляю
Код AS3:

var http:HTTPService = new HTTPService();

И все.
Далее открываю сгенерированный xml, нахожу тег этого класса и вижу:
Код:

<dep id="ArgumentError" />
      <dep id="QName" />
      <dep id="mx.rpc.xml:SimpleXMLDecoder" />
      <dep id="mx.utils:StringUtil" />
      <dep id="mx.rpc:AsyncToken" />
      <dep id="mx.messaging:ChannelSet" />
      <dep id="mx.core:mx_internal" />
      <dep id="mx.resources:ResourceManager" />
      <dep id="mx.rpc:AsyncDispatcher" />
      <dep id="mx.messaging.messages:IMessage" />
      <dep id="mx.resources:IResourceManager" />
      <dep id="mx.utils:ObjectProxy" />
      <dep id="flash.utils:getQualifiedClassName" />
      <dep id="mx.rpc.events:FaultEvent" />
      <dep id="mx.utils:ObjectUtil" />
      <dep id="mx.logging:ILogger" />
      <dep id="AS3" />
      <dep id="flash.xml:XMLNode" />
      <dep id="flash.xml:XMLDocument" />
      <dep id="mx.rpc.events:InvokeEvent" />
      <dep id="mx.utils:URLUtil" />
      <dep id="mx.messaging.messages:HTTPRequestMessage" />
      <dep id="mx.messaging.config:LoaderConfig" />
      <dep id="mx.rpc:AsyncRequest" />
      <dep id="mx.logging:Log" />
      <dep id="Error" />
      <dep id="mx.collections:ArrayCollection" />
      <dep id="mx.rpc:Fault" />
      <dep id="mx.rpc.events:ResultEvent" />
      <dep id="mx.rpc.xml:SimpleXMLEncoder" />
      <dep id="XML" />
      <dep id="mx.messaging.channels:DirectHTTPChannel" />
      <dep id="en_US$rpc_properties" />

Но автор статьи говорит что HTTPService не зависит от флексового фреймворка. Как это понять из приведенного xml?

wvxvw 20.11.2009 22:40

Ну вы это, размечтались :) Совсем независеть она никогда не будет. Но фреймворк - это тоже не один сплошной кусок, RPC - это в принципе отдельный пакет, в котором частично используются mx классы, но не создают зависимостей к UIComponent, например. Т.е. посмотрите во фреймворковскую папку с библиотеками - rpc.swc там лежит отдельно.
По большому счету, ее и ранше можно было использовать отдельно, если перекомпилировать ресурсы (resource bundles). А то их почему-то объединяли с остальным фреймворком, но, она планировалась, как независимый модуль.

SamFR 21.11.2009 00:45

Цитата:

Сообщение от wvxvw (Сообщение 866853)
Скомпилировать с -link-report и посмотреть, что в зависимостях значится.

Можно даже не компилировать, а распаковать swc-шку и смотреть catalog.xml.

Котяра 23.11.2009 10:16

посмотрите здесь:
http://www.flasher.ru/forum/blog.php?b=44
я юзал rpc и messaging классы из флексовских библиотек.

Волгоградец 23.11.2009 11:18

wvxvw в своем репертуаре - ниче не понятно что написал ). Во фреймворковской библиотеке и flex.swc отдельно лежит. Вобщем методом тыка тоже подключил нужные классы, но потом представил, чтобы заставить работать - надо кучу интерфейсов реализовать, а там еще какой-то FlexSprite, который не хочет отображаться. Вобщем ну его.
Ладно, спасибо всем. Котяра, читаю твой блог.

wvxvw 23.11.2009 14:34

Ну так правильно, flex.swc вы например используете, когда пишете [Embed] над переменной. Кроме всего прочего фреймворковские классы можно менять, и переделывать так, как нужно... Т.е., например, если вам не нужна ArrayCollection в RPC пакете - ищем все упоминания этого класса, меняем их, например, на Object, и перекомпилируем rpc.swc.


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

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