Flex的模块加载图表控件出现Error #1009解决之道
2014-02-26 10:27
561 查看
/article/3886806.html
在做ColumnChart时,发现总出现如下异常:
Java代码
1009 - Error #1009: Cannot access a property or method of a null object reference.
TypeError: Error #1009: Cannot access a property or method of a null object reference.
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()
这个问题找了很久才发现只是在模块中包含该图表控件时才出现,经查ChartBase源代码发现是1862行出的错(sdk4.6),
Java代码
var chartBaseStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.chartClasses.ChartBase");
取得chartBaseStyle为空。
此问题解决办法是,在模块主程序(Module的那个mxml)中覆盖如下方法:
Java代码
override public function get moduleFactory():IFlexModuleFactory {
return mx.core.FlexGlobals.topLevelApplication.moduleFactory;
}
另外,如果如果主应用加载的模块里的图表chart的DataTip显示颜色有问题,需要在主应用(包含ModuleLoader的那个application)中预先加载下用到的Chart类,比如LineChart:
Java代码
private var temp:LineChart=null;//预先加载一下linechart类,解决chart的DataTip显示颜色的flex4bug
如果在该模块中用其他spark控件使用时出现皮肤丢失问题,方便起见,可以在应用编译时增加 -keep-all-type-selectors=true参数。
在做ColumnChart时,发现总出现如下异常:
Java代码
1009 - Error #1009: Cannot access a property or method of a null object reference.
TypeError: Error #1009: Cannot access a property or method of a null object reference.
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()
这个问题找了很久才发现只是在模块中包含该图表控件时才出现,经查ChartBase源代码发现是1862行出的错(sdk4.6),
Java代码
var chartBaseStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.chartClasses.ChartBase");
取得chartBaseStyle为空。
此问题解决办法是,在模块主程序(Module的那个mxml)中覆盖如下方法:
Java代码
override public function get moduleFactory():IFlexModuleFactory {
return mx.core.FlexGlobals.topLevelApplication.moduleFactory;
}
另外,如果如果主应用加载的模块里的图表chart的DataTip显示颜色有问题,需要在主应用(包含ModuleLoader的那个application)中预先加载下用到的Chart类,比如LineChart:
Java代码
private var temp:LineChart=null;//预先加载一下linechart类,解决chart的DataTip显示颜色的flex4bug
如果在该模块中用其他spark控件使用时出现皮肤丢失问题,方便起见,可以在应用编译时增加 -keep-all-type-selectors=true参数。
相关文章推荐
- 关于VC++6.0加载控件出现Unable to register this add-in because its DllRegisterServer returns an error 的解决方法
- Max加载plugin的时候出现的error 126(找不到相关模块)解决
- 做LAMP安装Discuz时出现mysql_connect() 不支持 请检查 mysql 模块是否正确加载解决
- Flex加载多个Module时出现“TypeError: Error #1034: 强制转换类型失败”错误
- [Python3.5]解决安装一些模块时出现“error: Unable to find vcvarsall.bat”的错误
- 模块加载进去之后,卸载时出现“ ERROR:Module xxxx(模块名) is in use”?
- Python安装模块出现问题UnicodeDecodeError的解决方法
- php动态加载模块的时候出现PHP_FE_END’未声明(不在函数内) -----{error: ‘PHP_FE_END’ undeclared here (not in a function)}
- Flex4 主程序调用模块方法报TypeError: Error #1009:无法访问空对象引用的属性或方法
- Flex4 DataGrid实现可复制单元格,同时解决自定义GridItemRenderer出现1009错误的方法
- android的启动出现loadlibrary failed with error 126:找不到指定模块。怎么解决。
- 解决使用ajaxFileUpload上传控件出现的问题:回调函数总是进入error或success
- 关于python下构建c模块出现error: Unable to find vcvarsall.bat问题的解决方法
- LINUX驱动学习:加载模块时出现Device or resource busy的解决方法
- Flex4分模块下样式动态加载步骤及相关问题的解决
- flexview模板中解决图表控件不能显示的问题
- [内核补丁] 解决2.6.29内核上加载模块出现"unknown relocation: 40"
- Flex4分模块下样式动态加载步骤及相关问题的解决
- 使用RadUpload控件上传大文件时出现如下bug,请大虾帮忙解决下RadUpload Ajax callback error.Source url returned invalid content
- Android6.0加载Xutils-2.6.14.jar出现retry error, curr request is null 解决办法