Comunidad de diseño web y desarrollo en internet online

Problemas en bucle que muestra registros de una BDD

Citar            
MensajeEscrito el 28 May 2008 05:09 pm
Hola, bueno tengo un pequeño problema con un bucle que se encarga de situar tantos clips en como registros leo de una base de datos. El problema es que (cada uno de estos clips carga una imagen a través de un MovieClipLoader, por si puede resultar de ayuda), una vez que leo los registros de la BDD y los recorro con un bucle for, la página que contiene esta película no me hace ni caso a los enlaces de la misma hasta que todas las fotos de todos los registros son cargadas... pasa lo mismo para todos los eventos de la propia película, que mientras no acaba de cargar las fotos no obedece a estos eventos.

Imagino que el problema estará en que mientras las fotos están cargando, el reproductor 'bloquea' el navegador... os suena este problema de algo (si conseguí explicarlo debidamente)? Es un problema bastante grave, porque la página que carga esta lista de registros, no funciona hasta que todos los registros están cargados (y puede ser una lista bastante grande, de momento es 'pequeña' y tiene 95 registros.

Espero que me podáis ayudar, muchas gracias de antemano y aprovecho desde aquí para dar la enhorabuena a toda la comunidad por haber conseguido un foro tan activo y útil, me habéis sacado de muchísimos lios en el poco tiempo que llevo en esto.

Saludos!

Por JuanGC

3 de clabLevel



 

msie7
Citar            
MensajeEscrito el 28 May 2008 05:17 pm
¿Hay alguna condición que se cumple cuando todo está cargado en el código?
Quita momentaneamente el MovieClipLoader (haz un loadMovie simple) par ver si tiene que ver con eso ...

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 28 May 2008 05:26 pm
Hola Jorge, gracias por la pronta respuesta. No, no hay ninguna condición que se cumpla una vez cargado el código. Simplemente que al finalizar de cargar todas las fotos de todos los botones, entonces ya me responde a los eventos de los botones de la propia película, y no sólo eso, que lo preocupante como te decía es que no es hasta que están todas cargadas cuando puedo visitar los demás enlaces de la página que contiene esta película.

Cambie el MovieClipLoader y sigo con el mismo problema, no se a que puede ser debido... no hay ninguna instrucción de flash similar al DoEvents de Visual Basic, con la que le diga al reproductor durante la carga de las imágenes y durante el bucle que 'acepte' peticiones de los eventos de la película?

Un saludo!

Por JuanGC

3 de clabLevel



 

msie7
Citar            
MensajeEscrito el 28 May 2008 05:35 pm
Nop, la carga es asincrónica, es decir no se bloquea el resto del código mientras se carga una peli. Lo compruebas fácilmente. Pon un botón que haga algo y carga una movie bien pesada, verás que el botón no deja de funcionar.
Ahora bien un loop con 95 items se me hace pesadito para el procesador, y tanta carga puedo que lo bloquee. ¿Te pasa mas allá del nro de fotos?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 28 May 2008 05:44 pm
Si tienes razón, el evento de cualquier botón si funciona, pero por ejemplo, uno de los botones hace que se vuelva a generar la lista de registros con una consulta diferente. Es decir, otro bucle, y claro no lo hace tampoco hasta que no finaliza de cargar las fotos.

No entiendo, ¿si me pasa más allá de las fotos?

Gracias Jorge

Por JuanGC

3 de clabLevel



 

msie7
Citar            
MensajeEscrito el 28 May 2008 06:04 pm
Cuando cargas info, los paquetes compiten por el ancho de banda, con una conexión "tapada" de peticiones, es lógico que tengas que esperar, la nueva información está haciendo "cola". Lo lógico sería no realizar nuevas peticiones hasta que la actual se complete, o que "canceles" lo anterior, aquí un topic relacionado: http://www.cristalab.com/foros/viewtopic.php?t=46201

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 28 May 2008 06:10 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 29 May 2008 06:16 am
Buenas Jorge, gracias por tus respuestas. Que las cargas compiten por el ancho de banda sí lo veo (mucho mejor gracias al post que me planteaste en tu respuesta, http://www.cristalab.com/foros/viewtopic.php?p=374924) El problema de regenerar la lista de registros de esta manera creo que lo tendría solucionado, pero el problema de que mientras estén cargándose las imágenes no pueda 'navegar' por la página, con los elementos externos de la propia página html, todavía lo tengo.

No tengo manera de conseguir que esto cambie, estuve comprobando en el ejemplo muy ilustrativo que presentó Vicky, http://www.nfa-producciones.com/loops/. Haz la siguiente prueba: mientras los 9 clips se están cargando, y cambias la dirección del browser a http://www.nfa-producciones.com/ y pulsas para ir a visitarla, notarás que hasta que no se cargan los 9 videos no te va a redireccionar a la nueva dirección... :? ese es el principal problema de todo esto, que el browser parece que se 'bloquea' hasta que la carga no termina...

No se que hacer ni por donde tirar, porque esto ya no parece cosa de que controle las descargas de los clips en la película, aunque igual si hubiese alguna instrucción por la que le dijese al reproductor que obedezca eventos del sistema miestras está en un bucle (MovieClipLoader.onProgress) igual conseguíamos algo.

Una vez más muchas gracias por tu ayuda, Jorge

Saludos,
Juan

Por JuanGC

3 de clabLevel



 

msie7
Citar            
MensajeEscrito el 29 May 2008 10:44 am
Lo de cambiar la dirección del browser no lo puedes controlar, tu ámbito es el FlashPlayer, es decir agrega un botón para ir a otra URL, y en todo caso ahí si puedes intentar cancelar algo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.