2009-08-04 4 views

답변

5

문제는 SWF 모듈의 위치를 ​​잘못 찾았 기 때문입니다. 생성 된 SWF 모듈에 대해 적절한 위치가 설정 되 자마자 오류가 사라집니다.

+2

문제를 정확히 어떻게 해결 했습니까? – bks

+0

내 경우에는 .swf 모듈뿐만 아니라 자산을로드 할 때도 문제가 발생했습니다. (나는''someSWFFile.swf''' 대신''/ dir/someSWFFile.swf'''를 절대 URL로 사용하여 수정했습니다) –

6

IOErrorEvent-listener를 로더에 추가 할 수 있음을 잊지 마세요. 그러면 더 많은 정보를 직접 추적 할 수 있습니다. 아래의 코드는 일반적인 시작입니다. 플래시/플렉스에서 실제로 작동하려면 먼저 조금 더 많은 정보가 필요합니다.

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

인터넷 브라우저라면 Google 크롬을 사용하고 있습니다. Histor>Clear all browsing Data으로 이동하십시오. 이 딱딱한 부분 만 체크하면 브라우징 데이터를 잃고 싶지 않을 것입니다. 캐시

빈, 쿠키 및 기타 사이트, 플러그인 데이터 삭제, 클리어 시간의 처음부터 양식 데이터 자동 완성을

분명히을 저장. 그런 다음 원하는 것을로드하십시오. 나를 위해 잘 일했다 :)

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; 
    } 

그리고 이것은 좋은 코드입니다 : 나는 GC를 방지하기 위해 사전에서 로더를 참조

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; 
    } 

. 로드가 완료되면 사전에서 로더를 제거합니다.

관련 문제