我有一个Flex库项目,它既包含Flex特定类,也包含Air特定类。
当我在Air项目中引用库时,编译器会抱怨mx.containers.Panel中的覆盖contextMenu,说该param应该是NativeMenu类型(而不是ContextMenu)。如果我将它切换到NativeMenu,那么它编译得很好。
问题是我在Flex项目中引用库时。这次它抱怨它不知道NativeMenu的类型。如果我尝试将其更改回ContextMenu,那么我会得到与上面相同的错误。
我搜索谷歌无济于事(发现其他人遇到了完全相同的问题:http://forums.adobe.com/thread/598791?tstart=-1)
除了陈述上述内容外,文档也没有太大帮助:http://livedocs.adobe.com/flex/3/langref/flash/display/InteractiveObject.html#contextMenu
我认为它不可能将我想要的Flex与Air SDK混合在一起,但我希望也许有人已经想到这一点。
谢谢!
答案 0 :(得分:0)
您无法使用同一项目真正定位Web Flash Player和桌面播放器。
我建议将尽可能多的功能封装到库项目中。然后使用相同的库项目创建单个Flex项目和单个AIR项目。
每个相应的项目都可以扩展或替换不同的功能。
答案 1 :(得分:0)
我不确定这是否是完全相同的问题,但我遇到了能够在Flex库项目中引用AIR库并找到(相当简单)解决方案的问题。
使用Flash Builder 4.5,在创建Flex库项目时,(右键单击..新建.. Flex库项目)底部有一个“包含Adobe Air Libraries”复选框。必须选中此选项或不包含AIR库。
当您在下拉列表中选择要使用的SDK / AIR版本时,该消息还应指明您的应用程序所需的最低AIR版本。