Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.03.2013, 20:01
mono.solar вне форума Посмотреть профиль Отправить личное сообщение для mono.solar Найти все сообщения от mono.solar
  № 1  
Ответить с цитированием
mono.solar

Регистрация: May 2011
Сообщений: 24
По умолчанию Распознать AIR или WEB

Здравствуйте господа флешеры. Есть такая ситуёвина:

В Adobe Flash Builder 4.6 создана рабочая среда, где находится:
- проект AIR
- проект WEB
- либа (библиотечный проект), общая, которая подключена и к AIR-проекту, и к WEB-проекту.

Если эту либу компилирует AIR-проект, то должен работать кусок кода, использующий чисто AIR-овские фишки, например:

import flash.desktop.NativeApplication;
import flash.display.NativeWindow;
import flash.display.Screen;

А если же WEB-проект - то естественно их отключать, так как данных библиотек в WEB-овской сборке не существует.

Вопрос: какими средствами этого можно добиться?

Был опробован метод условной компиляции CONFIG::debugging с описанием директивы в либе -define=CONFIG::debugging,true , однако большого эффекта не произвело, потому как должно описываться именно в проекте Либ, а не в WEB или AIR.

Спасибо.


Последний раз редактировалось mono.solar; 11.03.2013 в 12:37.
Старый 10.03.2013, 20:48
trng вне форума Посмотреть профиль Отправить личное сообщение для trng Найти все сообщения от trng
  № 2  
Ответить с цитированием
trng

Регистрация: Jun 2011
Сообщений: 212
У вас уже все 'распознано': есть проект AIR, есть WEB. Вот в них и выносите участки кода, специфичные для каждого из проектов. А в либе оставьте только общий код.

Добавлено через 2 минуты
Как вариант - три либы: общая, AIR и WEB.

Добавлено через 4 минуты
Или одна либа с отдельными функциями для каждого из проектов.

Добавлено через 6 минут
Но принципиально все три варианта сводятся к одному и тому же: обращение к специфичным функциям происходит в проектах, а не в либе, т.е. никакого 'распознавания' не требуется.

Старый 11.03.2013, 12:37
mono.solar вне форума Посмотреть профиль Отправить личное сообщение для mono.solar Найти все сообщения от mono.solar
  № 3  
Ответить с цитированием
mono.solar

Регистрация: May 2011
Сообщений: 24
trng благодарю за мысль, но к сожалению всё не совсем так.
Представьте, что в либе лежит некая Group, которую добавляет в себя AIR и WEB. И при этом в Group, в зависимости от продолжателя, должен находится Window, если продолжатель AIR, или Panel, если продолжатель WEB.

Старый 11.03.2013, 13:54
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 4  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
У вас всего три варианта.
1. Как уже писал trng, разделить библиотеку на две (три и т.д.) web и air (может использовать web библиотеку) и подключать в зависимости от типа проекта.
2. Если библиотека идет в исходниках, можно использовать инструменты сборки типа ant и собирать библиотеку вместе с приложением.
3. Проверять среду исполнения с помощью Capabilities и получать необходимые классы через getDefinitionByName().

Если предполагается, что библиотека поставляется в swc формате, то она уже скомпилирована и при сборке проекта используются уже готовые классы из нее, без дополнительной компиляции.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 11.03.2013, 18:56
mono.solar вне форума Посмотреть профиль Отправить личное сообщение для mono.solar Найти все сообщения от mono.solar
  № 5  
Ответить с цитированием
mono.solar

Регистрация: May 2011
Сообщений: 24
alatar спасибо за мысль о Capabilities ! Похоже это то, что нужно.

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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