【问题标题】:How to resolve Adobe Flex error: "Error #2036: Load Never Completed"?如何解决 Adob​​e Flex 错误:“错误 #2036:加载从未完成”?
【发布时间】:2010-11-16 16:53:07
【问题描述】:

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

【问题讨论】:

  • 这是你能想到的最好的描述吗?

标签: apache-flex actionscript-3 flex3 flex4


【解决方案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。加载完成后,我从字典中删除加载器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-16
        • 1970-01-01
        • 2021-08-15
        • 2018-05-17
        • 1970-01-01
        • 2020-05-02
        • 1970-01-01
        • 2013-05-30
        相关资源
        最近更新 更多