Flex의 모듈 로드 차트 컨트롤 Error #1009 해결 방법

1416 단어 flexmodulechart
자세히 보기
지금 내가 세 시간 동안 해결한 문제의 성과를 공포한다.
ColumnChart 에서 다음과 같은 예외가 발견되었습니다.

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).
var chartBaseStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.chartClasses.ChartBase");
chartBaseStyle 취득은 비어 있습니다.
이 문제 해결 방법은 모듈 메인 프로그램(Module의 그 mxml)에서 다음과 같은 방법을 덮어쓰는 것입니다.
override public function get moduleFactory():IFlexModuleFactory {
     return FlexGlobals.topLevelApplication.moduleFactory;
}

또한 주 응용 프로그램이 불러오는 모듈의 차트 차트의 DataTip 표시 색상에 문제가 있으면 주 응용 프로그램 (ModuleLoader를 포함하는 응용 프로그램) 에서 사용할 차트 클래스를 미리 불러와야 합니다. 예를 들어 LineChart:
private var temp:LineChart=null;// linechart , chart DataTip flex4bug

이 모듈에서 다른spark 컨트롤러로 사용할 때 피부 분실 문제가 발생하면 편리하게 컴파일할 때 -keep-all-type-selectors=true 파라미터를 추가할 수 있습니다.

좋은 웹페이지 즐겨찾기