| |||||||
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) |
| Neuer User Registriert seit: Mar 2003
Beiträge: 158
| alle Listener entfernen vom Key-Object
Hi Leute, ich hätt ne Frage. Weiß jemand, wie ich alle Listener vom Key Object 'removen' kann? Der Hintergrund ist, dass manche Komponenten einen Listener registrieren, den aber nicht löschen. Somit wird beim erneuten laden des MCs wieder ein Listenere registriert und der Clip reagiert somit zweimal. (das Beispiel kommt aus der iTunes-Komponente) Ich hab das Key._listeners Array gefunden, damit kann ich aber nichts bewirken. Danke für alle Hinweise. Gruß Michel |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Mar 2003
Beiträge: 158
|
Hi, wenn man einen Flashfilm über z.B. einen Button neu lädt, in dem ein addListener Befehl drinsteht, dann wird dieser ZUSÄTZLICH registriert, das heißt, die Funktion reagiert doppelt. removeListener kenn ich natürlich, nur weiß ich nicht, wie ich das Neuladen 'abfangen' kann um zuerst den Listener zu removen. ...aber trotzdem danke für den Versuch mit zu helfen. Ich hab noch keine Lösung gefunden, die Kompenente findet ihr hier: iTunesAlbumArt Ich lade die SWF in einen bestimmten Level, die Navigation liegt in einem anderen Level. Wenn ich jetzt den Film über die Navi (nicht die HTML) neu lade, dann reagiert der Key doppelt. Grüße Michel |
| | |
| | #4 (permalink) | |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
| das kann man leider nicht listen Zitat:
wenn bei dir etwas doppelt reagiert, dann nicht deshalb. du erzeugst vermutlich selbst irgend ein objekt doppelt? bzw. das löschen klappt nicht wirklich. wurde ein objekt gelöscht, auf das noch listener zeigen, dann laufen dessen events ins leere. da passiert also nichts tramatisches, aber es kostet unnötig rechenleistung. wurde ein neues objekt erzeugt, dann kann das niemals das event von einem 'verstorbenen' bekommen.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (11-01-2010 um 15:59 Uhr) | |
| | |
| | #5 (permalink) | ||
| Neuer User Registriert seit: Mar 2003
Beiträge: 158
|
Hi, danke hgseib für deine Hinweise. Zitat:
Zitat:
Hier ist mal ein Demo: iTunes-Komponente Demo - über Button Kompenten laden - mit Cursor navigieren, jeder Druck ist ein Album - über Button neu laden - jeder Druck reagiert schon zweimal - usw. Greez Michel | ||
| | |
| | #6 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
also das sind dinger, über die will ich nicht diskutieren ;-) flash hat KEINEN befehl um listener zu listen. und 2x gesetzt: addEventListener(MouseEvent.MOUSE_UP,eventUp); addEventListener(MouseEvent.MOUSE_UP,eventUp); ruft eventUp NICHT 2x auf. und nach einmal removeEventListener(MouseEvent.MOUSE_UP,eventUp); ist das weg. da gibts keine 2 was einzelne komponenten können und was nicht, das ist dann individuell programmiert worden. ich kann dir nur sagen, was ich vermute und wo und wie ich nach den problemen suchen würde. mein favorit: du läds ein neues mc, aber vom 'alten' sind noch objekte übrig. das ist nicht sauber/komplett entfernt worden.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (13-01-2010 um 09:51 Uhr) |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Mar 2003
Beiträge: 158
|
Hi nochmal, lassen wir das, das Demo spricht für sich und ich muß eine Lösung finden. Trotzdem danke und weiterhin viel Erfolg Gruß Michel PS: Aber probier´s ruhig mal aus, wenn du schon so sicher bist: Code: for (x=0;x<Key._listeners.length;x++)
{
trace(Key._listeners[x]);
} |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Flash CS3] Wie kann man Listener entfernen ? | sáwyer | Flash Einsteiger | 4 | 31-05-2009 22:45 |
| Listener mit anonymer function entfernen | grafgarf | ActionScript 3 | 10 | 27-04-2008 19:58 |
| Wie anonymen Listener wieder entfernen? | Bartolo | ActionScript 3 | 6 | 18-02-2007 20:54 |
| listener entfernen mit for... in? | bassT | Softwarearchitektur und Entwurfsmuster | 2 | 07-07-2003 10:16 |
| listener entfernen... | MrJoes | ActionScript 1 | 2 | 06-06-2003 09:35 |