加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex 4.6SDK arcgis flex viewer工程中在viewer窗体中直接添加图

发布时间:2020-12-15 04:23:42 所属栏目:百科 来源:网络整理
导读:TypeError: Error #1009: 无法访问空对象引用的属性或方法。 ?at mx.charts.chartClasses::ChartBase/initStyles() ?at mx.charts.chartClasses::ChartBase/set moduleFactory() ?at mx.charts.chartClasses::CartesianChart/set moduleFactory() ?at mx.cha

TypeError: Error #1009: 无法访问空对象引用的属性或方法。
?at mx.charts.chartClasses::ChartBase/initStyles()
?at mx.charts.chartClasses::ChartBase/set moduleFactory()
?at mx.charts.chartClasses::CartesianChart/set moduleFactory()
?at mx.charts::ColumnChart/set moduleFactory()
?at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::addingChild()
?at mx.core::Container/http://www.adobe.com/2006/flex/mx/internal::addingChild()
?at mx.core::Container/addChildAt()
?at mx.core::Container/addChild()
?at mx.core::Container/createComponentFromDescriptor()
?at mx.core::Container/createComponentsFromDescriptors()
?at mx.core::Container/createChildren()
?at mx.core::UIComponent/initialize()
?at mx.core::Container/initialize()
?at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::childAdded()
?at mx.core::Container/http://www.adobe.com/2006/flex/mx/internal::childAdded()
?at mx.core::Container/addChildAt()
?at mx.core::Container/addChild()
?at mx.core::Container/createComponentFromDescriptor()
?at mx.core::Container/createComponentsFromDescriptors()
?at mx.core::Container/createChildren()
?at mx.core::UIComponent/initialize()
?at mx.core::Container/initialize()
?at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::childAdded()
?at mx.core::UIComponent/addChildAt()
?at spark.components::Group/addDisplayObjectToDisplayList()
?at spark.components::Group/http://www.adobe.com/2006/flex/mx/internal::elementAdded()
?at spark.components::Group/setMXMLContent()
?at spark.components::Group/set mxmlContent()
?at spark.components::SkinnableContainer/set mxmlContent()
?at spark.components::SkinnableContainer/createDeferredContent()
?at spark.components::SkinnableContainer/createContentIfNeeded()
?at spark.components::SkinnableContainer/createChildren()
?at mx.core::UIComponent/initialize()
?at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::childAdded()
?at mx.core::Container/http://www.adobe.com/2006/flex/mx/internal::childAdded()
?at mx.core::Container/addChildAt()
?at mx.core::Container/addChild()
?at mx.core::Container/createComponentFromDescriptor()
?at mx.core::Container/createComponentsFromDescriptors()
?at mx.core::Container/createChildren()
?at mx.core::UIComponent/initialize()
?at mx.core::Container/initialize()
?at widgets.PerformanceIndicators::PerformanceIndicatorsWidget/initialize()
?at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::childAdded()
?at mx.core::UIComponent/addChildAt()
?at spark.components::Group/addDisplayObjectToDisplayList()
?at spark.components::Group/http://www.adobe.com/2006/flex/mx/internal::elementAdded()
?at spark.components::Group/addElementAt()
?at spark.components::Group/addElement()
?at widgets.WidgetContainer::WidgetContainer/addWidget()[D:天津出差环境局projectHJ20130407srcwidgetsWidgetContainerWidgetContainer.mxml:147]
?at widgets.WidgetContainer::WidgetContainer/addElement()[D:天津出差环境局projectHJ20130407srcwidgetsWidgetContainerWidgetContainer.mxml:130]
?at widgets.WidgetContainer::WidgetContainerWidget/addWidget()[D:天津出差环境局projectHJ20130407srcwidgetsWidgetContainerWidgetContainerWidget.mxml:55]
?at com.esri.viewer.managers::WidgetManager/openWidget()[D:天津出差环境局projectHJ20130407srccomesriviewermanagersWidgetManager.mxml:1109]
?at com.esri.viewer.managers::WidgetManager/runWidget()[D:天津出差环境局projectHJ20130407srccomesriviewermanagersWidgetManager.mxml:1134]
?at com.esri.viewer.managers::WidgetManager/widgetReadyHandler()[D:天津出差环境局projectHJ20130407srccomesriviewermanagersWidgetManager.mxml:1201]
?at flash.events::EventDispatcher/dispatchEventFunction()
?at flash.events::EventDispatcher/dispatchEvent()
?at ModuleInfoProxy/moduleEventHandler()
?at flash.events::EventDispatcher/dispatchEventFunction()
?at flash.events::EventDispatcher/dispatchEvent()
?at ModuleInfo/readyHandler()
?at flash.events::EventDispatcher/dispatchEventFunction()
?at flash.events::EventDispatcher/dispatchEvent()
?at mx.core::FlexModuleFactory/update()

倒是有一个相关的帖子:

http://forums.adobe.com/message/4143789?说明了原因

http://hi.baidu.com/haoqionghaozi/item/14166d3e358bbd1c9dc65e37?有解决方法

==============================================

解决方法示例:

在使用图表控件的模块中添加事件

<viewer:BaseWidget xmlns:fx="http://ns.adobe.com/mxml/2009"
?????? xmlns:s="library://ns.adobe.com/flex/spark"
?????? xmlns:mx="library://ns.adobe.com/flex/mx"
?????? xmlns:viewer="com.esri.viewer.*"
?????? xmlns:components="com.esri.viewer.components.*"
?????? xmlns:esri="http://www.esri.com/2008/ags"???????
?????? preinitialize="basewidget_preinitializeHandler(event)"

响应事件的函数代码:

private function basewidget_preinitializeHandler(event:FlexEvent):void
???{
????// work-around for 4.6 regression
????copyStyleFromParent("mx.charts.chartClasses.ChartBase");
????copyStyleFromParent("mx.charts.chartClasses.CartesianChart");
????copyStyleFromParent("mx.charts.chartClasses.PolarChart");
????copyStyleFromParent("mx.charts.BarChart");
????copyStyleFromParent("mx.charts.ColumnChart");
????copyStyleFromParent("mx.charts.LineChart");
????copyStyleFromParent("mx.charts.PieChart");
????copyStyleFromParent("mx.charts.AxisRenderer");
????copyStyleFromParent(".blockCategoryAxis");
????copyStyleFromParent(".blockNumericAxis");
????copyStyleFromParent(".linedNumericAxis");
????copyStyleFromParent(".dashedNumericAxis");
????copyStyleFromParent(".dashedCategoryAxis");
????copyStyleFromParent(".hangingCategoryAxis");
????copyStyleFromParent("mx.charts.GridLines");
????copyStyleFromParent(".horizontalGridLines");
????copyStyleFromParent("mx.charts.series.BarSeries");
????copyStyleFromParent("mx.charts.series.ColumnSeries");
????copyStyleFromParent("mx.charts.series.LineSeries");
????copyStyleFromParent("mx.charts.series.PieSeries");
???}
???
???private function copyStyleFromParent(selector:String):void
???{
????var chartBaseStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration(selector);
????if (!chartBaseStyle && styleManager.parent)
????{
?????var parentStyle:CSSStyleDeclaration = styleManager.parent.getStyleDeclaration(selector);
?????if (parentStyle)
?????{
??????styleManager.setStyleDeclaration(selector,parentStyle,false);
?????}
????}
????
???}

?

***************************************************

*????? 路过的请留下见解和问题描述,相互交流学习。

****************************************************

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读