Domanda

Come risolvere l'errore Adobe Flex: " Errore n. 2036: caricamento mai completato " ;?

È stato utile?

Soluzione 2

Il problema riguardava l'errata localizzazione dei moduli SWF. Non appena è stata impostata la posizione appropriata per i moduli SWF generati, l'errore scompare.

Altri suggerimenti

Non dimenticare che puoi anche aggiungere un listener IOErrorEvent ai caricatori, in modo da poter tracciare un po 'più di informazioni per te stesso. Il codice sottostante è un antipasto generale, probabilmente avrà bisogno di un po 'più di informazioni prima che funzioni effettivamente in 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...
}

Se si tratta di un browser Internet e stai utilizzando Google Chrome. Vai a Cronologia & cancella tutti i dati di navigazione . Spuntare solo questi sottili, non si desidera perdere i dati di navigazione.

Svuota la cache, Elimina cookie e altri dati di siti e plug-in, Cancella i dati del modulo di compilazione automatica salvati

Cancella dall'inizio dei tempi. Quindi prova a caricare la cosa che desideri. Ha funzionato per me bene :)

Ho avuto lo stesso messaggio di errore. Nel mio caso, era dovuto al fatto che Loader stava raccogliendo i rifiuti.

Questo è il codice con cui ho riscontrato problemi:

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

E questo è il buon codice:

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

Faccio riferimento al caricatore da un dizionario per evitare il GC. Rimuovo il caricatore dal Dizionario al termine del caricamento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top