错误内容如下:
TypeError: Error #1009: 无法访问空对象引用的属性或方法。
at mx.charts.chartClasses::ChartBase/initStyles()[E:\dev\4.y\frameworks\projects\charts\src\mx\charts\chartClasses\ChartBase.as:1862]
at mx.charts.chartClasses::ChartBase/set moduleFactory()[E:\dev\4.y\frameworks\projects\charts\src\mx\charts\chartClasses\ChartBase.as:1894]
at mx.charts.chartClasses::CartesianChart/set moduleFactory()[E:\dev\4.y\frameworks\projects\charts\src\mx\charts\chartClasses\CartesianChart.as:816]
at mx.charts::LineChart/set moduleFactory()[E:\dev\4.y\frameworks\projects\charts\src\mx\charts\LineChart.as:191]
at spark.components::Group/http://www.adobe.com/2006/flex/mx/internal::elementAdded()[E:\dev\4.y\frameworks\projects\spark\src\spark\components\Group.as:1590]
at spark.components::Group/setMXMLContent()[E:\dev\4.y\frameworks\projects\spark\src\spark\components\Group.as:633]
at spark.components::Group/set mxmlContent()[E:\dev\4.y\frameworks\projects\spark\src\spark\components\Group.as:573]
at spark.components::SkinnableContainer/set mxmlContent()[E:\dev\4.y\frameworks\projects\spark\src\spark\components\SkinnableContainer.as:657]
at spark.components::SkinnableContainer/createDeferredContent()[E:\dev\4.y\frameworks\projects\spark\src\spark\components\SkinnableContainer.as:1050]
at mx.containers::ViewStack/instantiateSelectedChild()[E:\dev\4.y\frameworks\projects\mx\src\mx\containers\ViewStack.as:1260]
at mx.containers::ViewStack/commitProperties()[E:\dev\4.y\frameworks\projects\mx\src\mx\containers\ViewStack.as:756]
at mx.core::UIComponent/validateProperties()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:8219]
at mx.managers::LayoutManager/validateProperties()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:597]
at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:813]
at mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:1180]
解决办法(二选一):
在Module中添加如下代码:
1.
preinitialize="preinitializeHandler(event)"
protected function preinitializeHandler(event:FlexEvent):void
{
var styleObjects:Array = FlexGlobals.topLevelApplication.styleManager.selectors;
for each(var styleObj:String in styleObjects) {
var style:CSSStyleDeclaration = FlexGlobals.topLevelApplication.styleManager.getStyleDeclaration(styleObj);
styleManager.setStyleDeclaration(styleObj, style, true);
}
}
2.
override public function get moduleFactory():IFlexModuleFactory {
return mx.core.FlexGlobals.topLevelApplication.moduleFactory;
}