2010-07-13 2 views
0

У меня есть проект библиотеки Flex, который имеет как специальные классы Flex, так и классы Air.Проект библиотеки Flex: NativeMenu vs. ContextMenu

Когда я ссылаюсь на библиотеку в проекте Air, компилятор жалуется на переопределяющий contextMenu в mx.containers.Panel, говоря, что параметр должен иметь тип NativeMenu (вместо ContextMenu). Если я переключу его на NativeMenu, тогда он компилируется отлично.

Проблема в том, когда я ссылаюсь на библиотеку в проекте Flex. На этот раз он жалуется, что не знает тип NativeMenu. Если я попытаюсь изменить его обратно в ContextMenu, тогда я получаю ту же ошибку, что и выше.

Я искал Google но безрезультатно (обнаружил, что кто-то столкнулся с точно такой же проблемой: http://forums.adobe.com/thread/598791?tstart=-1)

Документах не помогают слишком много либо, кроме констатирую выше: http://livedocs.adobe.com/flex/3/langref/flash/display/InteractiveObject.html#contextMenu

I «Я думаю, что просто невозможно сделать смешение Flex Vs Air SDK, которое я хочу, но я надеялся, что, может быть, кто-то это понял.

Спасибо!

ответ

0

Вы не можете настроить таргетинг на веб-Flash Player и настольный проигрыватель, используя тот же проект.

Я бы рекомендовал инкапсулировать как можно больше функциональности в проект библиотеки. Затем создайте один проект Flex и один проект AIR, используя один и тот же проект библиотеки.

Каждый соответствующий проект может расширять или заменять различные функции.

+0

Спасибо за ваш ответ. Проблема с вашим предложением состоит в том, что иногда он побеждает цель Библиотеки. В моем случае библиотека содержит некоторый общий код, посвященный классам Air only NetworkInfo. NativeMenu - неудачный побочный продукт. – gmoniey

+0

Целью проекта библиотеки является обмен кодами между несколькими проектами; Я не уверен, как мое предложение побеждает цель библиотеки. С точки зрения логистики, библиотека, которую вы хотите использовать для веб-приложений Flex, не должна включать какой-либо конкретный код AIR. Так же, как библиотека, которую вы хотите использовать в Flash Pro, не должна включать какой-либо специальный код Flex. – JeffryHouser

+0

Я думаю, что, возможно, мое первоначальное объяснение было не совсем ясным. Моя проблема в том, что в библиотеке есть код Air & Flex. Когда библиотека используется в проекте AIR, все в порядке. Когда библиотека используется в проекте FLEX, я получаю ошибку выше. К сожалению, в моем случае перемещение функциональности вплоть до библиотеки - вот что вызвало эту проблему. – gmoniey

0

Я не уверен, что это то же самое, но у меня возникла проблема с возможностью ссылаться на библиотеки AIR в проекте библиотеки Flex и найти (довольно простое) решение.

Использование Flash Builder 4.5 при создании проекта библиотеки Flex (щелкните правой кнопкой мыши .. Новый проект библиотеки Flex) появится флажок «Включить библиотеки Adobe Air» внизу. Это необходимо проверить или библиотеки AIR не будут включены.

Когда вы выбираете версию SDK/AIR, которую вы используете в раскрывающемся списке, сообщение должно также указывать, какая минимальная версия AIR требуется для вашего приложения.

Смежные вопросы