私は現在、Flex 3.6 で作成された Adobe Flex Air プロジェクトに取り組んでいます。しかし、今では iPad 用のアプリになるはずですが、Flex 4.6 以降、Flash Builder はプロジェクトをアプリとしてのみエクスポートできます。だから私はプロジェクトを Flex 3.6 から 4.6 に変換しようとしています。これは簡単なことだと思いますが、ライブラリや名前空間にいくつかの問題があり、混乱しています。これが私の Main-mxml の開始方法です。
<s:Application xmlns:mx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:MyComp="*"
xmlns:local="*"
xmlns:srv="generated.webservices.*"
width="1366"
applicationComplete="init()"
backgroundGradientColors="[0xffffff,0xffffff]"
borderColor="#ffffff"
color="#eaeaea"
fontSize="14"
horizontalScrollPolicy="off"
layout="absolute"
paddingBottom="0"
paddingLeft="0"
paddingRight="0"
paddingTop="0"
verticalScrollPolicy="off">
しかし、私はエラーが発生します:
`Attribute "mx" bound to namespace "http://www.w3.org/2000/xmlns/" was already specified for element "s:Application".`
しかし、行を削除すると
`xmlns:mx="library://ns.adobe.com/flex/mx"`
もちろん、mx:VBox などを使用することはできず、プロジェクト全体をリファクタリングする必要があります。
Flex 4.6 を使用していくつかのテスト例を試しました。
<?xml version="1.0"?>
<!-- containers\layouts\BoxSimple.mxml -->
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:s="library://ns.adobe.com/flex/spark">
<mx:Box direction="vertical"
borderStyle="solid"
paddingTop="10"
paddingBottom="10"
paddingLeft="10"
paddingRight="10">
<mx:Button id="fname" label="Button 1"/>
<mx:Button id="lname" label="Button 2"/>
<mx:Button id="addr1" label="Button 3"/>
<mx:ComboBox id="state">
<mx:ArrayList>
<fx:String>ComboBox 1</fx:String>
</mx:ArrayList>
</mx:ComboBox>
</mx:Box>
</s:Application>
しかし、ここでエラーが発生します
`"Could not resolve <mx:Button> to a component implementation." `and more like this.
ここで私の質問: 1. 3 つの名前空間すべてを使用することが可能です
`(xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:s="library://ns.adobe.com/flex/spark")`
右?これはインターネット上のいくつかの例で見たので、うまくいくはずです。
- これら 3 つの名前空間で Flex 4.6 を使用するには、外部ライブラリを参照または追加する必要がありますか?
- Flex 3.6 から 4.6 に移行する簡単で一般的な方法はありますか? 3.6 で開発されたとしても、変更を加える必要がありますか、それとも 4.6 で動作する必要がありますか?
その上、私は Flex に比較的慣れていませんが、難しくはないと思います。
前もって感謝します
よろしく、
マックスB