So beheben Sie Adobe Flex-Fehler: "Fehler # 2036: Laden nie abgeschlossen"?So beheben Sie Adobe Flex-Fehler: "Fehler # 2036: Laden nie abgeschlossen"?
Antwort
Das Problem lag darin, die SWF-Module falsch zu lokalisieren. Sobald ein geeigneter Speicherort für generierte SWF-Module festgelegt wurde, verschwindet der Fehler.
Wie genau haben Sie das Problem gelöst? – bks
In meinem Fall trat das Problem auch beim Laden von Assets auf, nicht nur von .swf-Modulen. (Ich habe es mit absoluten URLs behoben: '' '/ dir/someSWFFile.swf''' anstelle von' '' someSWFFile.swf''') –
Vergessen Sie nicht, dass Sie den Loadern auch einen IOErrorEvent-Listener hinzufügen können, damit Sie ein wenig mehr Informationen für sich selbst verfolgen können. Der unten stehende Code ist ein allgemeiner Einstieg, er wird wahrscheinlich ein wenig mehr Informationen benötigen, bevor er 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);
//etc...
}
Wenn es eine Internet-Browser-Sache ist und Sie Google Chrome verwenden. Gehe zu Histor>Clear all browsing Data
. Kreuzen Sie nur diese Thins an, Sie möchten die Browserdaten nicht verlieren.
Cache leeren, Cookies löschen und andere Website- und Plug-in-Daten, Löschen gespeichert Autofill Formulardaten
Klar es von Anfang der Zeit. Versuchen Sie dann, das gewünschte Objekt zu laden. Arbeitete für mich gut :)
Ich hatte die gleiche Fehlermeldung. In meinem Fall war es wegen der Loader
bekommen Müll gesammelt.
Dies ist der Code, den ich mit Fragen 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 die gute 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 den Loader von einem Wörterbuch verweisen auf die GC zu vermeiden. Ich entferne den Loader aus dem Dictionary, wenn das Laden abgeschlossen ist.
ist das die beste Beschreibung, die Sie sich vorstellen können? –