SWFLoader的问题

时间:2010-08-23 15:13:21

标签: flex

嗨我在flex中有swfLoader的问题,当我在click方法中关闭下面的代码时,我可以很容易地将很多swf添加到主应用程序

 <mx:VBox id="content" width="100%" height="100%" ></mx:VBox>

  public function doIT():void


{
        var swfLoader1:SWFLoader = new SWFLoader;
       swfLoader1.source = "DayProfileElement.swf";
       swfLoader1.percentHeight = 100;
       swfLoader1.percentWidth = 100;
       swfLoader1.name = "a";
       swfLoader1.id = "b";


   var panel1:Panel = new Panel;
   panel1.percentHeight = 100;
   panel1.percentWidth = 100 / 4;
   panel1.name ="c";
   panel1.id = "d";
   panel1.addChild(swfLoader1);

   content.addChild(panel1);  

}

当我按下每秒一次按钮时它会起作用,但是当我这么做时,我有以下错误:

TypeError: Error #1034: Type Coercion failed: cannot convert mx.core::ClassFactory@a93a671 to mx.core.IFactory.
 at mx.charts.series::AreaSeries/get legendData()[C:\work\flex\dmv_automation\projects\datavisualisation\src\mx\charts\series\AreaSeries.as:327]
 at mx.charts.chartClasses::ChartBase/get legendData()[C:\work\flex\dmv_automation\projects\datavisualisation\src\mx\charts\chartClasses\ChartBase.as:1161]
 at mx.charts::Legend/populateFromArray()[C:\work\flex\dmv_automation\projects\datavisualisation\src\mx\charts\Legend.as:666]
 at mx.charts::Legend/commitProperties()[C:\work\flex\dmv_automation\projects\datavisualisation\src\mx\charts\Legend.as:449]
 at mx.core::UIComponent/validateProperties()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:5807]
 at mx.managers::LayoutManager/validateProperties()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:539]
 at mx.managers::LayoutManager/doPhasedInstantiation()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:659]
 at Function/http://adobe.com/AS3/2006/builtin::apply()
 at mx.core::UIComponent/callLaterDispatcher2()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8628]
 at mx.core::UIComponent/callLaterDispatcher()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8568]

当我关闭在循环中添加那些swfs我有相同的错误,它看起来像子应用程序无法访问 某些被其他子应用程序实例化的对象,我该怎么办?

1 个答案:

答案 0 :(得分:0)

  

TypeError:错误#1034:输入强制   失败:无法转换   mx.core :: ClassFactory @ a93a671 to   mx.core.IFactory的。

99%的时间,这样的错误是由于加载了一个SWF,该SWF是针对不同版本的类而不是加载器应用程序使用的那个版本编译的,或者您没有在同一个应用程序域中加载它们。

Take another peek在SWFLoader的“名称空间选项”中,我打赌你会找到答案。我没有任何人可以根据您提供的信息给您一个确切的答案。