2012-02-07 7 views
0

FlexLibをAdobe Flash Builder 4.6搭載のMobileFlexプロジェクトで使用しようとしています。学習上の理由から、ScheduleViewer1_Sample.mxmlのiPad版を作成しようとしています。FlexMobile-ProjectでFlexLibを使用する

不思議なことに、少なくとも私が理解していない理由は、最新のflexlib(2.6-M2)では動作しません。

以前のバージョン(2.5 - 最新googlecode)では、使用した名前空間を変更するだけで魅力的でした。例えば

私は、これが働い

<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" title="MySchedule" 
    xmlns:flexlib="http://code.google.com/p/flexlib/" 
    creationComplete="onCreationComplete()"> 

<fx:Declarations> 
    <!-- Place non-visual elements (e.g., services, value objects) here --> 
</fx:Declarations> 

<fx:Script> 
    <![CDATA[ 
     //I didn't change anything at the scripting part 
    ]]> 
</fx:Script> 

     <flexlib:ScheduleViewer id="scheduleViewer" 
    width="600" height="400" 
    dataProvider="{ dataProvider }"  
    startDate="{ startDate }" endDate="{ endDate }" /> 
</s:View> 

<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    xmlns:flexlib="http://code.google.com/p/flexlib/" 
    creationComplete="onCreationComplete();"> 
<mx:Script> 
    <![CDATA[ 
    //Stuff that just worked 
    ]]> 
</mx:Script> 
<flexlib:ScheduleViewer id="scheduleViewer" 
    width="600" height="400" 
    dataProvider="{ dataProvider }" 
    startDate="{ startDate }" endDate="{ endDate }" />   
</mx:Application> 

を変更しました。このようにするのが正しいかどうかはわかりませんが、うまくいきました。 GitHubからの最新バージョンでは、これ以上動作しません。

'ScheduleViewer'宣言は、デフォルトのプロパティの型 'Array'または要素型 'mx.core.IVisualElement'に割り当てられないため、タグ内に含める必要があります。

FlexLibのコンポーネントをiPad-Projectで使用するにはどうすればよいですか?

UPDATE:コンポーネントの実装に<flexlib:ScheduleViewer>を解決できませんでした、私のマシン上でFlexLibをコンパイル今エラーが

に変更。

答えて

2

FlexLibのほとんどのコンポーネントは、Flex 4で導入されたスパークアーキテクチャよりも先行しています。モバイル用に最適化されているとは思えません。

IVisualElementインターフェイスもFlex 4で導入されました。使用しようとしているコンポーネントが実装していないようです。

コンポーネントのソースコードを入手し、現在のバージョンのFlexで再コンパイルしてみることをお勧めします。コンポーネントがUIComponentまで拡張されている限り、UIComponentはIVisualElementを実装するので、大丈夫です。あなたのコンポーネントがUIComponentを拡張しない場合は、コンポーネントの変更が必要なIVisualElementを実装する必要があります。

+0

多くのThxがコンパイルされ、うまく見えます。今すぐ新しいエラー "をコンポーネントの実装に解決できませんでした。ここで何が間違っていますか? PS:ScheduleViewerは、UIComponentを拡張するScrollControlBaseを拡張しています。 – basti

+0

@chiffre問題は、SWCを再コンパイルしたときに名前空間のURLを設定していない可能性があることです。ネームスペースを変更して特定のディレクトリを参照するか、作成したライブラリプロジェクトのネームスペースURLを設定することができます。ここに私のスクリーンキャストがあります:http://www.theflexshow.com/blog/index.cfm/2010/3/1/The-Flex-Show--Creating-Flex-Components--Episode-13-Custom-Namespace -URLs Flash Builder 4.5以降、プロセスは非常に「気になる」ものになります。 – JeffryHouser

+0

コードから直接アクセスした後、再び同じエラーが表示されます - ヒントは残っていますか? Btw。リンクされたスクリーンキャストはオフラインで、常に「接続エラー」が発生します – basti

関連する問題