Wie behebe ich den Adobe Flex Fehler: "Fehler #2036: Laden nie abgeschlossen"?
Antworten
Zu viele Anzeigen?Vergessen Sie nicht, dass Sie auch einen IOErrorEvent-Listener zu den Loadern hinzufügen können, um mehr Informationen für sich selbst zu verfolgen. Der darunter stehende Code ist ein allgemeiner Einstiegspunkt, er wird wahrscheinlich etwas mehr Informationen benötigen, bevor er tatsächlich in Flash/Flex funktioniert.
swfLoaderInstance:SWFLoader = new SWFLoader();
swfLoaderInstance.source = "someSWFFile.swf";
swfLoaderInstance.addEventListener(IOErrorEvent.IO_ERROR, handleError);
public function handleError(event:IOErrorEvent):void{
trace(event.target);
//usw...
}
Wenn es sich um ein Internetbrowser-Problem handelt und Sie Google Chrome verwenden. Gehen Sie zu Verlauf>Alle Browserdaten löschen
. Nur diese Elemente auswählen, Sie möchten die Browserdaten nicht verlieren.
Cache leeren, Cookies und andere Website- und Plug-in-Daten löschen, Gespeicherte Autofill-Formulardaten löschen
Von Anfang an löschen. Versuchen Sie dann das Ding zu laden, das Sie wollen. Bei mir hat es gut funktioniert :)
Ich hatte dieselbe Fehlermeldung. In meinem Fall lag es daran, dass der Loader
von der Müllsammlung beseitigt wurde.
Das ist der Code, mit dem ich Probleme hatte:
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;
}
Und das ist der richtige Code:
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;
}
Ich verweise auf den Loader aus einem Dictionary, um die GC zu vermeiden. Ich entferne den Loader aus dem Dictionary, wenn er mit dem Laden fertig ist.