| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| skylla Registriert seit: Feb 2011
Beiträge: 166
|
hi, ich hab grad mal eine frage. und zwar, ich hab eine klasse, die extended EventDispatcher. in dieser klasse hab ich einen URLLoader und auf den loader hab ich mit addEventListener das Event.COMPLETE gesetzt. ich möchte halt eine externe datei laden und warten bis die fertig geladen ist. und genau das funktioniert nicht. aaber, wenn ich die klasse Sprite extenden lasse und nicht EventDispatcher und dann noch meine klasse mit addChild der DisplayList hinzufüge klappts! wieso ist das so? und das ist natürlich keine lösung. ich hatte das nur per zufall beim testen erfahren. ich würde aber wieder gerne EventDispatcher extenden. danke für eure hilfe, szylla |
| | |
| | #2 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.141
|
Was willst du laden?
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #4 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.141
|
Code?
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #5 (permalink) |
| skylla Registriert seit: Feb 2011
Beiträge: 166
| PHP-Code: aber eigentlich wollte ich die klasse EventDispatcher extenden lassen und nicht adden.. was ja auch gar nicht geht. so sieht der aufruf aus: PHP-Code: Geändert von szylla (02-02-2012 um 21:52 Uhr) |
| | |
| | #6 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.141
|
Die Klasse muss in dem Zustand noch gar nichts extenden. Ich denke, der Loader wird schon "garbage collected": Code: package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.events.IOErrorEvent;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import org.flashdevelop.utils.FlashConnect;
public final class Test extends EventDispatcher {
var urlLoader:URLLoader
public function Test():void { }
´
public function load( path:String ):void {
urlLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
urlLoader.addEventListener( Event.COMPLETE, this.onLoadComplete, false, 0);
urlLoader.addEventListener( IOErrorEvent.IO_ERROR, this.onIOError, false, 0);
urlLoader.load( new URLRequest( path ) );
}
private function onLoadComplete( e:Event ):void {
FlashConnect.trace( "onLoadComplete" );
// remove event handlers
}
private function onIOError( e:IOErrorEvent ):void {
FlashConnect.trace( "onIOError: " + e );
// remove event handlers
}
}
}
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #7 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.141
|
Je nachdem, was du machen möchtest, müsste ich den Code noch mal anpassen: "mehrere Connections" vs "lade entweder oder".
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #8 (permalink) |
| skylla Registriert seit: Feb 2011
Beiträge: 166
|
hi, ich weiß, das ist jetzt nur der erste grobe aufbau der klasse! da kommt später noch mehr rein weshalb ich die den eventdispatcher extenden lassen will. ich kann das extenden aber zum jetztigen zeitpunkt auch weglassen, es geht aber trotzdem nicht! ich komm einfach nicht ins onLoadComplete rein?! |
| | |
| | #10 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.141
|
Du erzeugst den URLLoader in einer Funktion. Wenn diese Funktion angelaufen ist, und es keine weiteren Referenzen auf die in den Funktion erzeugten Objekten gibt, werden diese von der Garbage Collection gelöscht. Und auch wenn du Event handler registriert hast, die eigentlich dafür sorgen dass die Referenz gehalten wird, so sorgt das letzte Argument dafür, dass die Objekte trotzdem gelöscht werden können.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #12 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.141
|
Sehr gern.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| UrlLoader ohne Daten nach COMPLETE Event | marcodeneu | ActionScript 3 | 1 | 08-08-2011 12:09 |
| Event.COMPLETE geladene swf aber noch nicht | skaddii | ActionScript 3 | 5 | 13-07-2010 15:27 |
| FileStream Event Complete geht nicht | Sebbal | Adobe AIR | 0 | 15-03-2010 13:33 |
| Kein COMPLETE Event nach URLLoader Aufruf... | HamletBSM | ActionScript 3 | 5 | 20-10-2009 16:12 |
| Fileupload Event.COMPLETE geht nicht | phase | Flex programmieren | 2 | 15-01-2009 20:53 |