0

複数のモジュール プロジェクトがあり、A はアプリケーション、B,C,D はモジュールです。コンパイルは成功しましたが、モジュール B をロードするとエラーが表示されます:

TypeError: Error #1007: Instantiation attempted on a non-constructor.
    at mx.controls.dataGridClasses::DataGridHeader/updateDisplayList()
    at mx.core::UIComponent/validateDisplayList()
    at mx.managers::LayoutManager/validateClient()
    at mx.core::UIComponent/validateNow()
    at mx.controls.dataGridClasses::DataGridBase/updateDisplayList()
    at mx.controls::DataGrid/updateDisplayList()
    at mx.controls.listClasses::ListBase/validateDisplayList()
    at mx.managers::LayoutManager/validateDisplayList()
    at mx.managers::LayoutManager/doPhasedInstantiation()
        at mx.managers::LayoutManager/doPhasedInstantiationCallback()

調査後、いくつかのドキュメントを取得します: http://blog.flexicious.com/post/Errror-Instantiation-attempted-on-a-non-constructor.aspx 特別なスタイルをアプリケーションにコンパイルする必要があるようです。 ( でスタイル ファイルを参照していました) コンパイルは成功しましたが、実行しましたが、まだエラーが発生しています。アプリケーションがcssをswfにコンパイルできないのではないかと思うので、コンパイルcssスクリプトをmaven pom.xmlに追加します

<buildCssFiles>
  <path>styles/temp.css</path>
</buildCssFiles>

それでもポップアップエラー。

誰もが同じ問題に遭遇しますか!

4

1 に答える 1

0

一般的な解決策、ステップ 1: 特別なスタイル スクリプトをスタイル ファイルに追加します。

mx|AdvancedDataGrid{
    columnDropIndicatorSkin: ClassReference("mx.skins.halo.DataGridColumnDropIndicator");
    columnResizeSkin: ClassReference("mx.skins.halo.DataGridColumnResizeSkin");
    headerColors: #FFFFFF, #E6E6E6;
    headerDragProxyStyleName: "headerDragProxyStyle";
    headerBackgroundSkin: ClassReference("mx.skins.halo.DataGridHeaderBackgroundSkin");
    headerSeparatorSkin: ClassReference("mx.skins.halo.DataGridHeaderSeparator");
    headerHorizontalSeparatorSkin: ClassReference("mx.skins.halo.AdvancedDataGridHeaderHorizontalSeparator");
    headerStyleName: "advancedDataGridStyles";
    sortArrowSkin: ClassReference("mx.skins.halo.DataGridSortArrow");
    stretchCursor: Embed(source="Assets.swf",symbol="cursorStretch");
}

mx|AdvancedDataGridSortItemRenderer{
    paddingTop: 0;
    paddingBottom: 0;
    paddingLeft: 0;
    paddingRight: 0;
    horizontalGap: 0;
    color: #0B333C;
    icon: ClassReference("mx.skins.halo.DataGridSortArrow");
}

mx|PrintAdvancedDataGrid{
    alternatingItemColors: #FFFFFF, #FFFFFF;
    borderColor: 0;
    columnResizeSkin: ClassReference("mx.skins.halo.DataGridColumnResizeSkin");
    headerColors: #FFFFFF, #FFFFFF;
    headerSeparatorSkin: ClassReference("mx.skins.halo.DataGridHeaderSeparator");
    headerStyleName: "advancedDataGridStyles";
    horizontalGridLineColor: 0;
    horizontalGridLines: true;
    sortArrowSkin: ClassReference("mx.skins.halo.DataGridSortArrow");
    stretchCursor: Embed(source="Assets.swf",symbol="cursorStretch");
    verticalGridLineColor: #000000;
}

mx|PrintOLAPDataGrid{
    alternatingItemColors: #FFFFFF, #FFFFFF;
    borderColor: 0;
    columnResizeSkin: ClassReference("mx.skins.halo.DataGridColumnResizeSkin");
    headerColors: #FFFFFF, #FFFFFF;
    headerSeparatorSkin: ClassReference("mx.skins.halo.DataGridHeaderSeparator");
    headerStyleName: "advancedDataGridStyles";
    horizontalGridLineColor: 0;
    horizontalGridLines: true;
    stretchCursor: Embed(source="Assets.swf",symbol="cursorStretch");
    verticalGridLineColor: #000000;
}

ステップ 2: pom.xml にスクリプトを追加する

<compilerWarnings>
    <show-unused-type-selector-warnings>false</show-unused-type-selector-warnings>
</compilerWarnings>
于 2012-07-05T07:22:40.907 に答える