アクセシビリティ

Flexテクニカルノート

抜粋したソースからDatavisualization SWCをコンパイルする際にランタイムエラーが発生する (Flex Builder)

問題

Adobe Flex Builder 3.0 Professionalとともに配布された一部のソースファイル(Professionalライセンスキーの取得時に抽出されるDMVファイルなど)は、あらかじめdmv_automation_build.xmlファイルを編集しない限り、実行可能なSWCとしてコンパイルできません。この結果、Advanced Datagridコンポーネントが含まれたプロジェクトを作成・実行しようとしても、ラインタイムエラーが発生し、アプリケーションが読み込まれません。

この問題はバグFLEXDMV-1626として報告済みです。

理由

この問題は、有効なProfessionalライセンスの入力後、datavisualizationソース(ant -f dmv_automation_build.xml)をコンパイルしようとすると発生します。ADGコンポーネントを利用する新規プロジェクトを作成し、実行しようとすると、以下のランタイムエラーが発生します。

TypeError: Error #1007: Instantiation attempted on a non-constructor. at mx.controls::AdvancedDataGridBaseEx/getSeparator()[C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\fbpro\projects\datavisualization\src\mx\controls\AdvancedDataGridBaseEx.as:4130] at mx.controls::AdvancedDataGridBaseEx/createHeaderSeparators()[C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\fbpro\projects\datavisualization\src\mx\controls\AdvancedDataGridBaseEx.as:4167] at mx.controls::AdvancedDataGrid/createHeaderSeparators()[C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0 \fbpro\projects\datavisualization\src\mx\controls\AdvancedDataGrid.as:1712] at mx.controls::AdvancedDataGridBaseEx/drawSeparators()[C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\fbpro\projects\datavisualization\src\mx\controls\AdvancedDataGridBaseEx.as:4091] at mx.controls::AdvancedDataGridBaseEx/updateDisplayList()[C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\fbpro\projects\datavisualization\src\mx\controls\AdvancedDataGridBaseEx.as:1860] at mx.controls::AdvancedDataGrid/updateDisplayList()[C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0 \fbpro\projects\datavisualization\src\mx\controls\AdvancedDataGrid.as:5924] at mx.controls.listClasses::AdvancedListBase/validateDisplayList()[C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\fbpro\projects\datavisualization\src\mx\controls\listClasses\AdvancedListBase.as:3071] at mx.managers::LayoutManager/validateDisplayList()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\managers\LayoutManager.as:602] at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\managers\LayoutManager.as:657] at Function/<a href="http://adobe.com/AS3/2006/builtin::apply%28%29">http://adobe.com/AS3/2006/builtin::apply() at mx.core::UIComponent/callLaterDispatcher2()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8460] at mx.core::UIComponent/callLaterDispatcher()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8403]

解決方法

以下の手順に従って、設定ファイルのdmv_automation_build.xmlを編集します。

  1. <flex builderのインストールディレクトリ>\sdks\3.0.0\fbproディレクトリにあるdmv_automation_build.xmlを開き、以下の2つのエントリを見つけます。
    • <include-file name="defaults.css" path="${framework.dir} /defaults.css"/>
    • <include-file name="data_management.css" path="${datavisualization.dir}/data_management.css"/>

    上記2エントリを以下の1行に置き替えます。
    • <include-file name="defaults.css" path="${datavisualization.dir}/data_management.css"/>
  2. ファイルを保存し、ant -f dmv_automation_build.xmlとしてビルドを戻します。

この解決方法を利用することで有効なSWCが生成されるようになり、ランタイムエラーが回避できます。

テクニカルノート詳細

最終更新日: 02-27-2008
ID: kb403121
恒久的なリンク: http://www.adobe.com/go/kb403121
対象製品: FlexBuilder

テクニカルノートの詳細

ID: kb403121
製品: Adobe Flex Builder
バージョン: 3.0