Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-07-2010, 18:25   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2010
Beiträge: 62
removechild Problem

Hallo,
ich habe in FlashDevelop einen Clienten gecoded mit diesem Logge ich mich ein und rufe ein Fenster auf, wenn ich auf den Button Klicke sollte sich das ganze Fenster via RemoveChild entfernen, dies klappt in der Offline Version wunderbar, aber sobald ich es über den Login mache kommt diese Fehler Meldung:
Error #2025: Das angegebene DisplayObject muss ein untergeordnetes Element des Aufrufers sein.


jemand eine Idee wie ich dies beheben kann?

Gruß Günther
Super_Günther ist offline   Mit Zitat antworten
Alt 11-07-2010, 18:42   #2 (permalink)
flashin people
 
Benutzerbild von Lukezero
 
Registriert seit: Jul 2007
Beiträge: 134
sieht aus als würdest du versuchen das DisplayObject aus der Anzeigeliste eines DisplayObjectContainers zu entfernen, der es nicht besitzt.

mit anderen Worten, wenn du einen mc/sprite/etc so addest:
myChild.addChild( myWindow );

dann musst dus auch so entfernen:
myChild.removeChild( myWindow );

Dein Fehler kann zb. so enstehen:
removeChild( myChild.myWindow );
__________________
„Ob du denkst, du kannst es, oder du kannst es nicht: Du wirst auf jeden Fall recht behalten.“
- Henry Ford

Wozu noch ein Flash Blog?
Lukezero ist offline   Mit Zitat antworten
Alt 11-07-2010, 19:01   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2010
Beiträge: 62
hier mal ein bisschen code:

erklärung zu tmp3:
tmp3 ist bei mir ein bewegbares Fenster in dem sachen gedisplayed werden sollen.

und so werden sie Platziert:
PHP-Code:
            tmp3.addChild(lblchangemail);
            
tmp3.addChild(lblupdateusr);
            
tmp3.addChild(lblchangepw);    
            
tmp3.addChild(gfx.prev)
            
tmp3.addChild(gfx.next
das MouseEvent:
PHP-Code:
             function UpdateUser(e:Event null) : void {
            
destroy();
            } 
hier die removechild Funktion:
PHP-Code:
            function destroy() : void {
            
tmp3.removeChild(lblchangemail);
            
tmp3.removeChild(lblupdateusr);
            
tmp3.removeChild(lblchangepw);    
            
tmp3.removeChild(gfx.prev);
            
tmp3.removeChild(gfx.next);
            
tmp3.removeChild(myPlace);
            
wind3.destroy();
        } 
Super_Günther ist offline   Mit Zitat antworten
Alt 11-07-2010, 19:22   #4 (permalink)
flashin people
 
Benutzerbild von Lukezero
 
Registriert seit: Jul 2007
Beiträge: 134
Wie schon gesagt, es liegt daran, wo du versuchst die mcs zu entfernen, aber gut, versuchs doch mal damit (neue destroy-function)

Code:

for( var mc:DisplayObject in tmp3 ){

if(tmp3.contains(mc)) tmp3.removeChild( mc );

}
__________________
„Ob du denkst, du kannst es, oder du kannst es nicht: Du wirst auf jeden Fall recht behalten.“
- Henry Ford

Wozu noch ein Flash Blog?
Lukezero ist offline   Mit Zitat antworten
Alt 11-07-2010, 19:23   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2010
Beiträge: 62
einach in das MouseEvent einbinden?

Geändert von Super_Günther (11-07-2010 um 19:28 Uhr)
Super_Günther ist offline   Mit Zitat antworten
Alt 11-07-2010, 19:24   #6 (permalink)
flashin people
 
Benutzerbild von Lukezero
 
Registriert seit: Jul 2007
Beiträge: 134
einfach den inhalt deiner destroy() { //inhalt } ersetzen
__________________
„Ob du denkst, du kannst es, oder du kannst es nicht: Du wirst auf jeden Fall recht behalten.“
- Henry Ford

Wozu noch ein Flash Blog?
Lukezero ist offline   Mit Zitat antworten
Alt 11-07-2010, 19:29   #7 (permalink)
Neuer User
 
Registriert seit: Jun 2010
Beiträge: 62
bekomme diese Fehlermeldung:
13 Error: Implicit coercion of a value of type String to an unrelated type flash.displayisplayObject.
und markiert mc
Super_Günther ist offline   Mit Zitat antworten
Alt 11-07-2010, 19:31   #8 (permalink)
flashin people
 
Benutzerbild von Lukezero
 
Registriert seit: Jul 2007
Beiträge: 134
sorry,
so:

Code:
for each( var mc:DisplayObject in tmp3 ){

if(tmp3.contains(mc)) tmp3.removeChild( mc );

}
__________________
„Ob du denkst, du kannst es, oder du kannst es nicht: Du wirst auf jeden Fall recht behalten.“
- Henry Ford

Wozu noch ein Flash Blog?
Lukezero ist offline   Mit Zitat antworten
Alt 11-07-2010, 19:34   #9 (permalink)
Neuer User
 
Registriert seit: Jun 2010
Beiträge: 62
hmm passiert leider überhaupt nichts.
Super_Günther ist offline   Mit Zitat antworten
Alt 11-07-2010, 19:42   #10 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.141
Ist die Funktion getestet?
Omega Psi ist offline   Mit Zitat antworten
Alt 11-07-2010, 19:43   #11 (permalink)
Neuer User
 
Registriert seit: Jun 2010
Beiträge: 62
wen meinste?
ich hab sie so wie er sagte in die destroy funktion eingebunden und sie dann getestet und nichts passierte.
Super_Günther ist offline   Mit Zitat antworten
Alt 11-07-2010, 19:49   #12 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.141
Ich meinte die "destroy" Function:
Code:
import flash.display.DisplayObjectContainer;

function removeAllChildren(container:DisplayObjectContainer):DisplayObjectContainer
{
  var length:int = container.numChildren;

  for (var i:int = length - 1; i >= 0; i--)
  {
    container.removeChildAt(i);
  }

  return container;
}
Die ist gerade so runtergetippt, keine Gewähr auf Typos...
Omega Psi ist offline   Mit Zitat antworten
Alt 11-07-2010, 19:53   #13 (permalink)
Neuer User
 
Registriert seit: Jun 2010
Beiträge: 62
supi funktioniert
Super_Günther ist offline   Mit Zitat antworten
Alt 11-07-2010, 19:54   #14 (permalink)
flashin people
 
Benutzerbild von Lukezero
 
Registriert seit: Jul 2007
Beiträge: 134
omegas lösung ist sauberer...
__________________
„Ob du denkst, du kannst es, oder du kannst es nicht: Du wirst auf jeden Fall recht behalten.“
- Henry Ford

Wozu noch ein Flash Blog?
Lukezero ist offline   Mit Zitat antworten
Alt 11-07-2010, 20:00   #15 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.141
Nein, man kann nicht mit einer for each Schleife über einen DisplayObjectContainer iterieren. Das geht nur in ActionScript 3.
Omega Psi 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Scrolling Problem ( removeChild & addChild Problem ) Jakozk ActionScript 3 2 28-02-2010 19:12
[Flash CS3] RemoveChild Problem Alaniak Flash Einsteiger 2 27-01-2010 10:19
removeChild problem, wird zwar aufgerufen aber nicht gemacht. nbuechi ActionScript 3 6 17-03-2009 10:59
Problem mit removeChild und Hittest-Funktion weis-nix ActionScript 3 4 20-07-2008 13:28
php5: dom->removeChild Problem cmike PHP und MySQL 5 21-01-2005 15:21


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:36 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele