如何解决 Adobe Flex 错误:“错误 #2036:加载从未完成”?
Posted
技术标签:
【中文标题】如何解决 Adobe Flex 错误:“错误 #2036:加载从未完成”?【英文标题】:How to resolve Adobe Flex error: "Error #2036: Load Never Completed"? 【发布时间】:2010-11-16 16:53:07 【问题描述】:【问题讨论】:
这是你能想到的最好的描述吗? 【参考方案1】:不要忘记,您还可以将 IOErrorEvent-listener 添加到加载程序,以便您自己跟踪更多信息。下面的代码是一个通用的启动器,它可能需要更多信息才能真正在 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...
【讨论】:
【参考方案2】:问题在于错误定位 SWF 模块。为生成的 SWF 模块设置适当的位置后,错误就会消失。
【讨论】:
就我而言,加载资产时也会出现问题,而不仅仅是 .swf 模块。 (我通过使用绝对 URL 修复它:/dir/someSWFFile.swf
而不是 someSWFFile.swf
)【参考方案3】:
如果它是互联网浏览器,并且您使用的是 Google Chrome。转到Histor>Clear all browsing Data
。仅勾选这些内容,您不会希望丢失浏览数据。
清空缓存, 删除 cookie 和其他网站和插件数据, 清除保存的自动填充表单数据
从一开始就清除它。然后尝试加载你想要的东西。为我工作得很好:)
【讨论】:
【参考方案4】:我收到了同样的错误信息。就我而言,这是因为 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;
我从字典中引用加载器以避免 GC。加载完成后,我从字典中删除加载器。
【讨论】:
以上是关于如何解决 Adobe Flex 错误:“错误 #2036:加载从未完成”?的主要内容,如果未能解决你的问题,请参考以下文章