a saber porque ocurre eso, yo lo que te propongo es otro enfoque, mucho mas
seguro y mas practico. Cada vez que abras una ventana la metes en un array.
Asi luego cuando necesites hacer algo sobre ellas solo tienes que recorrer
al array, no ir buscando por los niveles. Eso esta destinado al fracaso, m�s
tarde o m�s temprano (en tu caso a sido temprano) algun otro clip/componente
usara el metodo y te colocara uno donde no quieres.

La solucion pasaria por algo asi, te creas el array:

var ventanas = new Array();

y luego en tu funcion de creacion que es asi:


  nivelDisponible = _root.getNextHighestDepth();
  attachMovie("ventana", instancia, nivelDisponible);
  eval(instancia)._x = posVentanaX;
  eval(instancia)._y = posVentanaY;
  eval(instancia).titulo = instancia;

la cambias por algo como:


  nivelDisponible = _root.getNextHighestDepth();
// Utiliza el valor de vuelta de attachMovie para obtener
// una referencia a la instancia recien creada
  var nueva = attachMovie("ventana", instancia, nivelDisponible);
  nueva._x = posVentanaX;
  nueva._y = posVentanaY;
  nueva.titulo = instancia;
    // Utilizamos un array asociativo para evitarnos busquedas al cerrar
    // la ventana
  ventanas[instancia] = nueva;

Luego cuando tu cierras la ventana la sacas del array:


// borramos el elemento del array
delete ventanas[instancia]
// el resto es tuyo
 eval(instancia).removeMovieClip();
 var ultimoNivelOcupado = _root.getNextHighestDepth() - 1;
 var inst = _root.getInstanceAtDepth(ultimoNivelOcupado);
 eval(inst)._alpha = 100;

Por ultimo en tu momento critico del bucle que era asi:

 for (i = zz; i < ultimoNivelOcupado; i++)
 {
  var inst = _root.getInstanceAtDepth(i);
  //cogemos el nombre de la instancia en la profundidad i
  eval(inst)._alpha = 20;
 }

ahora es mucho mas fiable:

 for (var v in ventanas)
 {
  ventanas[v]._alpha = 20;
 }

en cualquier funcion que quieras obtener acceso a la ventana usa:

var ventana = ventanas[instancia];

en vez de eval(intancia)

El resto sigue la misma pauta. Hay bastantes maneras de hacer mejor todo
esto pero esta es la mejor que se me ha ocurrido para que hagas minimos
cambios en tu estructura.

un saludo

Joseba Alonso
www.sidedev.net
www.5dms.com

----- Original Message ----- 
From: "Diego Ponce de Le�n" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, March 25, 2004 4:23 PM
Subject: Re: [ASNativos] Fw: Ayuda please..


hola a todos y perdonar por mi insistencia pero es que estoy un poco
desesperado...

me acabo de dar cuenta que al colocar un componente en mi aplicaci�n pasa
esto:

tengo un bucle for :

function opacidad(instancia){ //funcion para controlar el _alpha de todas
las ventanas que no estan activas
 var ultimoNivelOcupado = _root.getNextHighestDepth()-1

 eval(instancia)._alpha = 100;
 //trace(zz)
 trace(ultimoNivelOcupado)
  //ahora cogemos todas las dem�s y le ponemos alpha 20
 for(i=zz;i<ultimoNivelOcupado;i++){
  var inst = _root.getInstanceAtDepth(i);//cogemos el nombre de la instancia
en la profundidad i
  eval(inst)._alpha = 20;
  }
}

sin el componente todo bien, el  trace(ultimoNivelOcupado) me da el n�mero
de ventanas abiertas en total correctamente.
cuando meto el componente esta variable aumenta miles y miles. Estoy casi
seguro que por eso se bloquea. Sabeis por qu� el componente provoca esto??

ps: Joseba esto es todo lo que he podido averiguar y te aseguro que le he
dado tres mil vueltas, no quiero ser plasta pero sois los �nicos que podeis
iluminarme.




<!-------------------------------
Lista ASNativos:
subscripciones/desubscripciones
http://www.sidedev.net/asnativos
Archivos:
sin busqueda (+actualizado):
http://www.sidedev.net/archive
con busqueda (-actualizado)
http://www.mail-archive.com/[EMAIL PROTECTED]/
-------------------------------->


<!-------------------------------
Lista ASNativos:
subscripciones/desubscripciones
http://www.sidedev.net/asnativos
Archivos:
sin busqueda (+actualizado):
http://www.sidedev.net/archive
con busqueda (-actualizado)
http://www.mail-archive.com/[EMAIL PROTECTED]/
-------------------------------->

Responder a