抜粋したソースから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を編集します。
- <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"/>
- ファイルを保存し、
ant -f dmv_automation_build.xmlとしてビルドを戻します。
この解決方法を利用することで有効なSWCが生成されるようになり、ランタイムエラーが回避できます。
テクニカルノート詳細
| 最終更新日: | 02-27-2008 |
| ID: | kb403121 |
| 恒久的なリンク: | http://www.adobe.com/go/kb403121 |
| 対象製品: | FlexBuilder |
