Resulta que estoy desarrollando una aplicación Air y en ella tengo una clase "myWindow" que hereda de TitleWindow. Yo quiero que cuando se pulse sobre algún objeto de esta clase, este se venga al frente. Para poder hacer esto, desde la misma clase, utilicé parentDocument.swapChildren(this, elOtro);.
Todo funciona correctamente hasta que minimizo la aplicación y la vuelvo a restaurar, entonces al pulsar sobre algún objeto myWindow (que no sea el último creado) genera el siguiente error:
Código :
ArgumentError: Error #2025: El objeto DisplayObject proporcionado debe ser un elemento secundario del llamador. at flash.display::DisplayObjectContainer/swapChildren() at myWindow/goToTop()[C:\Documents and Settings\José Miguel\My Documents\Flex Builder 3\prueba\src\myWindow.mxml:83] at myWindow/startMove()[C:\Documents and Settings\José Miguel\My Documents\Flex Builder 3\prueba\src\myWindow.mxml:104]
He revisado el valor de parentDocument y la cantidad de hijos (numChildren), y, antes de minimizar es correcto, pero después de minimizar y restaurar es erróneo.
Por cierto, cuando uso parentDocument.getChildren(), para obtener todos los componentes del padre, obtengo el array con todos los elementos sin ningún problema, eso es lo más raro de todo.
coloco parte del código para ver si puede ayudar.
Código :
//obtenemos la lista de myWindows.
var child:Array = parentDocument.getChildren();
//buscamos la posición del elemento actual en la lista
for(i=0; i<child.length; i++){
if(child[i] == this){
init = i;
break;
}
}
//ahora recorremos la lista desde la posición del elemento actual hasta el final
//y vamos intercambindo el orden de los "z", pero siempre teniendo en cuenta al
//elemento actual. al final se mantendrá el mismo orden, pero con el elemento actual
//en la parte superior de la lista.
for(i=init; i<child.length-1; i++)
parent.swapChildren(this, child[i+1]);
}Alguien sabe que puede estar pasando??? Gracias de antemano...
