Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05-06-2007, 12:00   #1 (permalink)
Neuer User
 
Benutzerbild von maschka
 
Registriert seit: Jun 2003
Beiträge: 194
Loader Objekt feuert keine Events

Hi,

Ich habe ein Problem beim Laden von externen swfs und hoffe, dass mir jemand weiterhelfen kann.
Ich lade in einem Film mit Hilfe der Loader-Klasse eine externe swf. In 9 von 10 Fällen klappt das wunderbar, aber manchmal kommt es nicht zum COMPLETE-Event. Also dachte ich, dass offensichtlich ein Fehler beim Laden auftritt und deshalb hörte ich einfach auf sämtliche Events, die der Loader potetiell werfen könnte:

Code:
var lLoader:Loader = new Loader();
lLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onGraphicLibLoaded);
lLoader.contentLoaderInfo.addEventListener(Event.OPEN, onGraphicLibOpened);
lLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onGraphicLibLoading);
lLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onError);
lLoader.contentLoaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS, onHTTPStatus);
lLoader.contentLoaderInfo.addEventListener(Event.UNLOAD, onUnload);
lLoader.contentLoaderInfo.addEventListener(Event.INIT, onInit);
lLoader.load(new URLRequest(LIB_STANDARD_GRAPHICS));
Nachdem der Fehler erneut aufgetreten ist, schaute ich in meine Ausgabe und musste feststellen, dass nur der OPEN Event (einmalig) und der PROGRESS Event (mehrfach) ausgelöst worden sind und dann... Nichts.
Kein Fehler, kein nichts, aber auch keine Anzeige...

Habe ich einen Event übersehen, auf den ich noch zusätzlich achten sollte?
Oder kann so etwas gar nicht sein, und der Fehler muss an einer ganz anderen Stelle im Code liegen?
Oder hatte jemand schonmal was ähnliches?

Ich bin für jeden Tipp dankbar...
Vielen Dank
maschka

PS: Ich hatte ein ähnliches Thema gestern bereits unter einer anderen Überschrift eingestellt, nach vielem Testen ist mir aber aufgefallen, dass die Überschrift falsch war, und da ich leider nicht weiß, wie man eine Überschrift im Nachhinein ändert, habe ich ein neues Thema aufgemacht.
maschka ist offline   Mit Zitat antworten
Alt 05-06-2007, 13:58   #2 (permalink)
habs vergessen
 
Benutzerbild von pwdVergesser
 
Registriert seit: Feb 2006
Beiträge: 990
Code:
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.*;

var mainLoader 	:URLLoader = new URLLoader();

mainLoader.addEventListener(Event.COMPLETE, completeHandler);
mainLoader.load(new URLRequest("deinFile"));


function completeHandler(event:Event) {
   trace("geladen");
}

pwd
__________________
Blog/Lab Xing
pwdVergesser ist offline   Mit Zitat antworten
Alt 05-06-2007, 14:19   #3 (permalink)
Neuer User
 
Benutzerbild von maschka
 
Registriert seit: Jun 2003
Beiträge: 194
Aber auf diese Weise kann ich doch keine swfs laden oder?
SWFs und Bilder kann ich doch nur mit der Loader-Klasse laden, soweit ich weiß nur in der Form in der ich es oben bereits dargestellt hatte...
Oder geht das tatsächlich auch mit der URLLoader Klasse?

maschka
maschka ist offline   Mit Zitat antworten
Alt 05-06-2007, 14:38   #4 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.139
ActionScript:
  1. import flash.display.*;
  2. import flash.events.*;
  3. import flash.net.URLRequest;
  4. var ldr:Loader = new Loader();
  5. ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
  6. var url:String = "test.swf";
  7. var urlReq:URLRequest = new URLRequest(url);
  8. ldr.load(urlReq);
  9. addChild(ldr);
  10. function onComplete(event:Event):void {
  11.     trace("Loading completed successfully");
  12. }
Angehängte Dateien
Dateityp: zip LoaderTest.zip (10,3 KB, 10x aufgerufen)
Omega Psi ist offline   Mit Zitat antworten
Alt 05-06-2007, 15:05   #5 (permalink)
Neuer User
 
Benutzerbild von maschka
 
Registriert seit: Jun 2003
Beiträge: 194
Danke für Eure Mühe und schnelle Reaktion.

@omega: wie man eine externe swf lädt weiß ich und habe es exakt so gemacht, wie du auch, außer, dass ich den addChild erst innerhalb des COMPLETE Handlers ausführe.

Wie erwähnt, zu 99% geht es auch bei mir aber manchmal, kommt nur der OPEN, und einige PROGRESS-Events und kein(!) COMPLETE. aber halt auch kein IO_ERROR oder so etwas. Und dann bleibt natürlich mein ganzes Programm stehen.

In meinem Cookbook steht, dass man auf den INIT Event hören soll. Aber der kommt doch immer vor COMPLETE, von daher müsste ich doch eigentlich auf der sicheren Seite sein... eigentlich, aber der Fehler bleibt (gelegentlich).

maschka
maschka ist offline   Mit Zitat antworten
Alt 06-06-2007, 13:36   #6 (permalink)
Danilo Sandner
 
Registriert seit: Jun 2001
Ort: frankfurt am main
Beiträge: 286
ne, ne, eigentlich ist es genau umgekehrt. erst kommt complete und dann init!
__________________
www.DaniloSandner.de

www.FlashTreffen.de (Flashtreffen in Frankfurt)
danilo ist offline   Mit Zitat antworten
Alt 06-06-2007, 14:26   #7 (permalink)
Neuer User
 
Benutzerbild von maschka
 
Registriert seit: Jun 2003
Beiträge: 194
Zitat:
Zitat von danilo Beitrag anzeigen
ne, ne, eigentlich ist es genau umgekehrt. erst kommt complete und dann init!
Dachte ich auch erst, aber die Adobe Livedocs sagen:
Zitat:
complete:Event — Dispatched by the associated LoaderInfo object when the file has completed loading. The complete event is always dispatched after the init event.
und:
Zitat:
init:Event — Dispatched by the associated LoaderInfo object when the properties and methods of the loaded SWF file are accessible. The init event always precedes the complete event.
Also so, wie ich gesagt habe... leider.
Der Fehler ist seit der Umstellung auf den INIT Event zwar noch nicht wieder aufgetreten, aber das heißt ja leider nix =(

maschka
maschka ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 11:55 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele