swfloader 能加载另一个flex项目生成的swf

具体情况是在一个flex 项目里用swf Loader去加载另一个flex 项目生成的swf (主程序application节点的swf ),方法是swf loader.load(url),但debug时老是在
                         // Force a "render" event to happen soon   
                         _systemManager.stage.invalidate();
这个地方报错,提示说“无法访问空对象 引用的属性或方法。”被加载的swf已经被精简到只剩下application节点了,swfloader也没有加任何事件 监听,但还是依然报错
                   难道说swfLoader不能加载另一个flex项目的swf吗
    随后又发现是这样的,swfLoader是用new 即时生成的,这种情况用load去加载flex主程序的swf就会报这个错,难道swfloader用new生成的有什么不妥吗
    找到原因了,用new 生成的swfloader在未addChild到显示列表前,其_systemManager.stage这个对象为空,用load加载flex项目的 swf时,会用到这个对象的invalidate方法,所以会报错,解决的办法就是先把swfloader加入显示列表,然后就可以加载flex生成的 swf了

你可能感兴趣的:(Flex)