Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   компоненты во FlashDevelop (http://www.flasher.ru/forum/showthread.php?t=130712)

pavel___zzz 02.10.2009 14:28

компоненты во FlashDevelop
 
Здравствуйте

Подскажите пожалуйста, можно ли использовать компоненты в проекте AS3 project во FlashDevelop и как это сделать.

wvxvw 02.10.2009 14:32

Какие компоненты?

pavel___zzz 02.10.2009 20:25

Ну там ComboBox, например. Я так понимаю, что наиболее прямой способ, если сработает - получить доступ к компонентам FlexSDK

wvxvw 02.10.2009 21:12

Комбобоксов есть много разных, о каком именно идет речь? Чтобы "получить доступ" к Флекс СДК его просто нужно скачать :)

pavel___zzz 02.10.2009 23:25

Ну.. во Flash IDE в as3 я могу написать
Код AS3:

var cb:ComboBox = new ComboBox();
this.addChild(cb);

При выполнении появится ComboBox

Но чтобы это сработало, нужно во-первых положить ComboBox в библиотеку, а во-вторых, в начале написать import fl.controls.ComboBox;

Так же можно сделать и во FlashBuilder, только без библиотеки. И, что самое важное, так же можно сделать и во FlashDevelop в Flex Project.

Но если создать AS3 Project, я не знаю как подключить компонент

wvxvw 02.10.2009 23:38

Ну так вот fl.controls.ComboBox это и есть название класса, а есть еще и например mx.controls.ComboBox или org.aswing.DefaultComboBoxCellEditor да и мало ли их вообще...
Если вам нужен именно флешевый - положите его в FLA файл, скомпилируйте из него SWC и добавьте SWC в проект (кликнуть правой кнопкой -> Add to Library).

pavel___zzz 02.10.2009 23:44

Что до разных ComboBox'ов - хотелось бы обойтись тем, который есть в Flex SDK. Но какой импорт надо сделать? Или может быть, какой ClassPaths прописать?

Добавлено через 11 минут
Вот кстати, вспомнил: пробовал добавить в ClassPaths
... flex_sdk_3\frameworks\projects\framework\src
ComboBox стал опозноваться автокомплитом, ошибки нет, но он всё равно не появляется

wvxvw 03.10.2009 00:38

Если вы создали флексовый проект, то вам не нужно никакие дополнительные библиотеки подключать. Флексовые библиотеки уже будут подключены в настройках.
Но если вы создали просто AS3 проект, то воспользоваться флексовыми компонентами будет проблематично, т.как вам нужно чтобы в проекте был класс-наследник mx.core.Application, а это значит, что и 90% всего фреймворка тоже.

pavel___zzz 03.10.2009 01:08

Ага. Так понятней. А какой наследник? И, вообще говоря, при создании экземпляра Application возникает ошибка:

[Fault] exception, information=Error: No class registered for interface 'mx.managers::ILayoutManager'.
Fault, Singleton.as:111

P.S. Наверное, мне стоит задуматься, откуда бы взять другую, желательно бесплатную, библиотеку компонентов. Вроде я даже на тему такую натыкался. Но эту версию тоже хотелось бы проработать до конца

wvxvw 03.10.2009 03:36

Ну для начала просто создайте Flex 3 Project (визард по созданию нового проекта предложит вам выбрать из нескольких опций, выберите эту).
У вас появится в папке src класс MainApp.mxml - это класс наследник Application (через Main.as), в нем будет функция init() которая вызывается когда фреймворк заканчивает инициализацию. У вас так же будет класс Main.as который наследуэтся от Application. Если вы не хотите использовать MXML то просто считайте, что init() это ваша entry point.

Но если чесно, я не помню, какой именно темплей сейчас используется для флексовых проектов в ФД (я его давно заменил на свой), возможно темплейт будет просто mxml файлом с рутовым тегом <mx:Application> тогда, если вы используете Moxie SDK (приложение по умолчанию компилируется с серо-зелено-голубым фоном) воспроизведите ситуацию описаную выше, т.е. ваш MainApp.mxml будет выглядеть так:
Код AS3:

<my:Main
xmlns:my="*"
layout="absolute"
applicationComplete="init()"/>

и Main.as:
Код AS3:

package {
import mx.core.Application;
public class Main extends Application {
public function Main() {
super();
}
protected function init():void
{
// Entry point
}
}
}

Если вы используете Gumbo SDK, скажите, я проверю, скорее всего разницы быть не должно, но я не пробовал.


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

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