如何解决Adobe Flex错误:“错误#2036:加载从未完成”?

时间:2009-08-04 14:25:47

标签: flex actionscript-3 flex3 flex4

如何解决Adobe Flex错误:“错误#2036:加载从未完成”?

4 个答案:

答案 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中删除加载器。