嗨我在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我有相同的错误,它看起来像子应用程序无法访问 某些被其他子应用程序实例化的对象,我该怎么办?
答案 0 :(得分:0)
TypeError:错误#1034:输入强制 失败:无法转换 mx.core :: ClassFactory @ a93a671 to mx.core.IFactory的。
99%的时间,这样的错误是由于加载了一个SWF,该SWF是针对不同版本的类而不是加载器应用程序使用的那个版本编译的,或者您没有在同一个应用程序域中加载它们。
Take another peek在SWFLoader的“名称空间选项”中,我打赌你会找到答案。我没有任何人可以根据您提供的信息给您一个确切的答案。