|
|
|||||
Регистрация: 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. |
|
|||||
Регистрация: Jun 2011
Сообщений: 212
|
У вас уже все 'распознано': есть проект AIR, есть WEB. Вот в них и выносите участки кода, специфичные для каждого из проектов. А в либе оставьте только общий код.
Добавлено через 2 минуты Как вариант - три либы: общая, AIR и WEB. Добавлено через 4 минуты Или одна либа с отдельными функциями для каждого из проектов. Добавлено через 6 минут Но принципиально все три варианта сводятся к одному и тому же: обращение к специфичным функциям происходит в проектах, а не в либе, т.е. никакого 'распознавания' не требуется. |
|
|||||
Регистрация: May 2011
Сообщений: 24
|
trng благодарю за мысль, но к сожалению всё не совсем так.
Представьте, что в либе лежит некая Group, которую добавляет в себя AIR и WEB. И при этом в Group, в зависимости от продолжателя, должен находится Window, если продолжатель AIR, или Panel, если продолжатель WEB. |
|
|||||
У вас всего три варианта.
1. Как уже писал trng, разделить библиотеку на две (три и т.д.) web и air (может использовать web библиотеку) и подключать в зависимости от типа проекта. 2. Если библиотека идет в исходниках, можно использовать инструменты сборки типа ant и собирать библиотеку вместе с приложением. 3. Проверять среду исполнения с помощью Capabilities и получать необходимые классы через getDefinitionByName(). Если предполагается, что библиотека поставляется в swc формате, то она уже скомпилирована и при сборке проекта используются уже готовые классы из нее, без дополнительной компиляции.
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
Регистрация: May 2011
Сообщений: 24
|
alatar спасибо за мысль о Capabilities ! Похоже это то, что нужно.
|
Часовой пояс GMT +4, время: 09:56. |
|
« Предыдущая тема | Следующая тема » |
|
|