Comunidad de diseño web y desarrollo en internet online

Esperar un aviso enviado desde ASP

Citar            
MensajeEscrito el 21 Abr 2009 02:15 pm
Güenas a tóos y tóas.

Tengo un problema que no sé cómo resolverlo (o si tan siquiera tiene solución).

Os presento el escenario:

Se trata de una página ASP dinámica que muestra diversos contenidos en layers (en principio ocultos). Estos layers se muestran u ocultan en función de lo que desee ver el usuario.

Gran parte del entorno y del interfaz del usuario está formado por una única película flash. Esta película tiane una animación de comienzo con bastante movimiento.

La página funciona perfectamente, lo que pasa es que como tengo que acceder a una base de datos para recoger los datos a mostrar, cuando arranco la página hay un momento en que la animación del flash se me entrecorta, produciendo un efecto muy feo.

Como primera solución, opté por poner todo el código de acceso a la BD en el <head> y guardar los datos en arrays temporalmente para que, cuando fuese necesario presentarlos, no me hiciese la lectura a la BD remota y provocara la ralentización del flash.

La solución ha funcionado parcialmente, ya que la animación sigue entrecortándose un momento al principio, aunque de forma mucho menos "cantosa" que como cuando el código ASP de acceso a BD estaba en el body.

Como no encuentro una manera de decirle a la página "¡Eh, tú, hasta que no estén todos los datos de la BD bajados, no se te ocurra lanzar el flash!" se me había ocurrido la posibilidad de poner como primera instrucción ASP algo así como

Dim listo
listo = 0

Y, al final del body de la página, cuando ya sé que los datos están cargados, poner algo como

listo = 1

La idea era hacer que el flash esperase en el primer frame, leyendo la variable ASP "listo" y, cuando "listo" pasase a tener valor "1", entonces continuara con el resto de la animación.

¿Hay alguna forma de hacer esto? ¿Me podéis dar una pista?

Gracias

Por CidDeMizar

81 de clabLevel



 

msie7
Citar            
MensajeEscrito el 21 Abr 2009 02:42 pm
una pista...
sendAndLoad

a F1 que el lo sabe todo!!!

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 21 Abr 2009 03:36 pm
¡Probarelo!, a ver qué tal.

Ya te contaré.

Gracias

Por CidDeMizar

81 de clabLevel



 

msie7
Citar            
MensajeEscrito el 22 Abr 2009 02:56 pm
Nada, que no me aclaro. Es uno de esos momentos en los que uno tiene la sensación de ser la Inutilidad supina personalizada.

Os cuento lo que he perpetrado:

En la página asp donde ocurre todo, aparte de los accesos a datos, el flash, las capas y demás garambainas que tiene, he puesto al final de la misma, justo antes del </HTML> una variable asp:

<%listo = "ya"%>

En el flash, después del cargador he puesto:

Código :

stop();
esperaVars = new LoadVars();
esperaVars.onLoad = function( success ){
    if(success){
      gotoAndPlay("inicio");
    } 
}
esperaVars.load("pruFL.asp");


Es cierto que ahora no me pega saltos, SE ME QUEDA COLGADA EN EL FRAME 3 ESPERANDO QUE EL SUCCESS SEA TRUE, cagüentodoloquesemeneaaaa.

Me imagino que lo que es obvio para vosotros no lo es para mí, así que agradecería una luz que iluminara mis ojos (o unos ojos nuevos que vean lo que hay que ver, diantre).

Gracias.

Por CidDeMizar

81 de clabLevel



 

msie7
Citar            
MensajeEscrito el 22 Abr 2009 06:15 pm
no veo donde aplicas el sendAndLoad

:D leer!!!
http://www.cristalab.com/tutoriales/enviar-correo-electronico-en-flash-usando-loadvars-c7l/

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 22 Abr 2009 10:45 pm
Gracias. A ver si mañana le echo un vistazo

Por CidDeMizar

81 de clabLevel



 

msie8
Citar            
MensajeEscrito el 23 Abr 2009 01:42 pm
Nada, sigo sin empaparme.

Os cuento:

He cogido el código de la dirección que me dio tribak y lo he adaptado de esta forma en el primer frame del flas:

Código :

var envio_lv:LoadVars = new LoadVars ();
var recibir_lv:LoadVars = new LoadVars ();
function enviarForm () {
   envio_lv.msg = "conectar";
   envio_lv.sendAndLoad ("index3.asp", recibir_lv, "POST");
}
recibir_lv.onLoad = function (exito) {
   if (exito) {
      mensaje.text = this.listo;

      _root.gotoAndPlay(_currentframe+1);
   }
};

mensaje es un campo dinámico que he puesto en el frame justo posterior del cargador que tengo en la película.

En este frame que os digo, tengo el siguiente código:

Código :

stop();
enviarForm();


La película se sigue quedando pillada en ese frame.

Está claro que no entiendo el funcionamiento del sendAndLoad

Un detalle que no sé si es importante o no es que la págima a la que llamo, index3.asp, es la que contiene la película flash. No sé si es necesario que la película esté en otra página distinta o no.

Gracias

Por CidDeMizar

81 de clabLevel



 

msie7
Citar            
MensajeEscrito el 23 Abr 2009 06:06 pm
pues de hecho si, la otra pagina solo deberia de tener la programacion que enviaria los datos de flash a cualquier otro lado
y un mensaje de respuesta

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 23 Abr 2009 08:28 pm
Cagüennnnsssss!!!!!! me lo temía. el problema es que es en la página desde la que se accede a la bd donde está integrado el flash y no podemos cambiarlo (por motivos que se me escapan ya que yo de HTML, ASP y demás, todavía no tengo ni idea. Sólo controlo un poco el flash y bastante el Director).

De todas formas, muchísimas gracias.

Por CidDeMizar

81 de clabLevel



 

msie8
Citar            
MensajeEscrito el 23 Abr 2009 08:37 pm
pues a pedirle a algun sabio de ASP que haga lo que necesitas
probablemente tu no entiendas el ASP, pero no estan trabajando en equipo?

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 24 Abr 2009 11:21 am
Sí, pero a los Señores del ASP de mi empresa no les saques de lo que saben hacer normalmente. si les pregunto sobre si se puede hacer algo de forma distinta a como lo hacen, lo primero que responden es que no mareemos la perdiz, que ellos tienen su sistema de trabaja desarrollado desde hace mucho tiempo y que les funciona muy bien.

Hombre, entiendo esa actitud, ya que no hay demasiado tiempo para la investigación. Desarrolaron en su día diversos modelos de formularios, paneles de control, tickers y demás y ahora sólo adaptan lo que ya tienen a los diseños de los diseñadores con copy-paste. No tienen muchas ganas de salirse de lo que ya controlan y romperse la crisma un rato.

Bueno, con el tiempo y una caña espero ser yo el que dé ese empujón.

Muchas gracias tribak.

Por CidDeMizar

81 de clabLevel



 

msie7
Citar            
MensajeEscrito el 24 Abr 2009 07:58 pm
pues que es lo que necesitas hacer que hasta ellos dan contras?
el tutorial que te pase sirve para enviarle informacion a la base de datos o a cualquier otro medio y esperar a que el asp te mande una respuesta

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 26 Abr 2009 05:41 pm
Tendré que esperar a controlar suficientemente bien ASP porque como ya te he comentado antes, las estructuras que usan son muy rígidas y, en el caso de esta página en concreto, el flash sólo sirve como menú de acceso a las distintas secciones (que muestran u ocultan diversos layers que están ocultos por defecto), No es un caso en el que desde flash se haga una consulta y que el resultado se muestre en el mismo flash. Para eso, por supuesto que se podría generar una página ASP "invisible" que recogiera los datos enviados por el flash y le retornara los datos del servidor.

De todas formas, parece un esfuerzo excesivo sólo para conseguir que un flash no dé un pequeño salto al iniciar la animación de comienzo.

Lo ideal hubiera sido que los programadores hubieran ideado otra estructura en el que las páginas de consulta de servidor fuesen distintas a las páginas de "visualización", con lo que creo que se hubiera solventado el problema.

Muchas gracias, Tribak

Por CidDeMizar

81 de clabLevel



 

msie8

 

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