如何解决Adobe Flex错误:“错误#2036:加载从未完成”?
答案 0 :(得分:6)
不要忘记您还可以向加载器添加IOErrorEvent侦听器,以便您可以为自己跟踪更多信息。下面的代码是一般的启动程序,它可能需要更多信息才能在flash / flex中实际工作。
swfLoaderInstance:SWFLoader = new SWFLoader();
swfLoaderInstance.source = "someSWFFile.swf";
swfLoaderInstance.addEventListener(IOErrorEvent.IO_ERROR, handleError);
public function handleError(event:IOErrorEvent):void{
trace(event.target);
//etc...
}
答案 1 :(得分:5)
问题在于错误定位SWF模块。只要为生成的SWF模块设置了适当的位置 - 错误就会消失。
答案 2 :(得分:1)
如果它是互联网浏览器,并且您使用的是谷歌浏览器。转到Histor>Clear all browsing Data
。只在这些方面打勾,你不会想丢失浏览数据。
清空缓存, 删除Cookie和其他网站和插件数据, 清除已保存的自动填充表单数据
从一开始就清除它。然后尝试加载你想要的东西。为我工作很好:))
答案 3 :(得分:1)
我有同样的错误消息。就我而言,这是由于Loader
收集了垃圾。
这是我遇到的代码:
private function loadImageFromUrl( imageUrl:String ):AbstractOperation
{
var result:AbstractOperation = new AbstractOperation();
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener( Event.COMPLETE, function ( e:Event ):void
{
result.dispatchCompleteEvent( loader.content );
} );
loader.contentLoaderInfo.addEventListener( IOErrorEvent.IO_ERROR, function ( event:IOErrorEvent ):void
{
result.dispatchErrorEvent( event );
} );
loader.load( new URLRequest( imageUrl ) );
return result;
}
这是很好的代码:
private var m_loaderReferences:Dictionary = new Dictionary();
private function loadImageFromUrl( imageUrl:String ):AbstractOperation
{
var result:AbstractOperation = new AbstractOperation();
var loader:Loader = new Loader();
m_loaderReferences[imageUrl] = loader; // Need to keep a reference to the loader to avoid Garbage Collection
loader.contentLoaderInfo.addEventListener( Event.COMPLETE, function ( e:Event ):void
{
result.dispatchCompleteEvent( loader.content );
delete m_loaderReferences[imageUrl];
} );
loader.contentLoaderInfo.addEventListener( IOErrorEvent.IO_ERROR, function ( event:IOErrorEvent ):void
{
result.dispatchErrorEvent( event );
delete m_loaderReferences[imageUrl];
} );
loader.load( new URLRequest( imageUrl ) );
return result;
}
我从Dictionary中引用加载程序以避免使用GC。完成加载后,我从Dictionary中删除加载器。