2009-08-04 11 views

Respuesta

5

El problema estaba en ubicar mal los módulos SWF. Tan pronto como se haya establecido la ubicación adecuada para los módulos SWF generados, el error desaparecerá.

+2

¿Cómo resolvió exactamente el problema? – bks

+0

En mi caso, el problema también estaba ocurriendo al cargar activos, no solo módulos .swf. (Lo arreglé usando URL absolutas: '' '/ dir/someSWFFile.swf''' en lugar de' '' someSWFFile.swf''') –

6

No olvide que también puede agregar un IOErrorEvent-listener a los cargadores, para que pueda rastrear un poco más de información. El código de abajo es un iniciador general, probablemente necesitará un poco más de información antes de que realmente funcione en 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

Si se trata de una cosa navegador de Internet, y que está utilizando Google Chrome. Vaya a Histor>Clear all browsing Data. Marque solo en estos Thins, no querrá perder los datos de navegación.

vaciar la caché, Eliminar cookies y otros complementos y sitios en los datos, Borrar datos guardados para autocompletar formularios

Claro que desde el principio de los tiempos. Luego intenta cargar lo que quieras. Funcionó bien para mí :)

1

Tuve el mismo mensaje de error. En mi caso, fue debido a la recolección de basura Loader.

Este es el código que tenía problemas con:

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

Y este es el buen código:

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

me refiero a que el cargador de un diccionario para evitar el GC. Elimino el cargador del Diccionario cuando termina de cargar.

Cuestiones relacionadas