【发布时间】:2010-11-16 16:53:07
【问题描述】:
如何解决 Adobe Flex 错误:“错误 #2036:加载从未完成”?
【问题讨论】:
-
这是你能想到的最好的描述吗?
标签: apache-flex actionscript-3 flex3 flex4
如何解决 Adobe Flex 错误:“错误 #2036:加载从未完成”?
【问题讨论】:
标签: apache-flex actionscript-3 flex3 flex4
不要忘记,您还可以将 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...
}
【讨论】:
问题在于错误定位 SWF 模块。为生成的 SWF 模块设置适当的位置后,错误就会消失。
【讨论】:
/dir/someSWFFile.swf 而不是 someSWFFile.swf)
如果它是互联网浏览器,并且您使用的是 Google Chrome。转到Histor>Clear all browsing Data。仅勾选这些内容,您不会希望丢失浏览数据。
清空缓存, 删除 cookie 和其他网站和插件数据, 清除保存的自动填充表单数据
从一开始就清除它。然后尝试加载你想要的东西。为我工作得很好:)
【讨论】:
我收到了同样的错误信息。就我而言,这是因为 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。加载完成后,我从字典中删除加载器。
【讨论】: