Comunidad de diseño web y desarrollo en internet online

¿Caché de datos en Flash CS5.5?

Citar            
MensajeEscrito el 11 Oct 2011 08:11 am
Hola gente

Me acabo de encontrar con un problema que me ha tenido un buen rato fuera de combate. A lo mejor es que el Flash funciona así y yo lo desconocía (que es probable); a lo mejor es que este comportamiento es bueno para las películas flash (quizá); a lo mejor resulta una cagada por parte mía o por parte de Adobe (no lo sé). Os cuento.

Resulta que estoy recogiendo datos de unas tablas de SQL Server mediante una página ASP que ha hecho un compañero (avezado programador de ASP, por cierto). Es una cosa que habíamos hecho muchísimas veces con mi querido (y casi olvidado) flash8 en AS2.

Normalmente el AS2 "tragaba" con todo y si veíamos el código final de la ASP, donde me pasaba las variables, podía ser algo como esto:

Código :

response.Write("generoid="&tmp_ModaParaId&"<br>")
response.Write("genero="&tmp_ModaPara&"<br>")
response.Write("tiendasid="&tmp_TiendasId&"<br>")
response.Write("tiendas="&tmp_Tiendas&"<br>")
response.Write("marcasid="&tmp_MarcasId&"<br>")
response.Write("marcas"&tmp_Marcas&"<br>")
response.Write("categoriasid="&tmp_categoriasId&"<br>")
response.Write("categorias="&tmp_categorias&"<br>")
response.Write("otrascategoriasid="&tmp_otrascategoriasId&"<br>")
response.Write("otrascategorias="&tmp_otrascategorias&"<br>")
response.Write("coloresid="&tmp_ColoresId&"<br>")
response.Write("colores="&tmp_Colores)

Hace tiempo que no hacíamos nada de Flash y BD y os fijaréis que están por medio los <br> que me estaban tocando las narices.

Entonces le he dicho a mi compi: "tío, quítame los <br> y ponme & al final de cada par variable<->valor, porfa". Dicho y hecho. Ahora el ASP ya daba (en teoría) variables en formato URL así:

Código :

response.Write("generoid="&tmp_ModaParaId&"&genero="&tmp_ModaPara&"&tiendasid="&tmp_TiendasId&"&tiendas="&tmp_Tiendas&"&marcasid="&tmp_MarcasId&"&marcas="&tmp_Marcas&"&categoriasid="&tmp_categoriasId&"&categorias="&tmp_categorias&"&otrascategoriasid="&tmp_otrascategoriasId&"&otrascategorias="&tmp_otrascategorias&"&coloresid="&tmp_ColoresId&"&colores="&tmp_Colores)

Y aquí ha venido la catástrofe: El Flash seguía diciéndome que había error en el formato de las variables para el URLDecode; que las variables tenían que estar codificadas en formato URL.

Viendo la página en el navegador, todo parecía correcto. Incluso con cada cambio que hacía se actualizaba, por lo que no había problemas con la caché del navegador.

He estado probando a colocar un "\" delante de cada "&" para que cogiera el código de control, después he probado sustituyendo cada "&" por %38 (su ASCII)... Nada, siempre el mismo error.

Desesperado he vuelto a dejar el ASP como yo recordaba que era, o sea, con el & entre cada par variable<->valor, y con un cabreo impresionante he cerrado el Flash. Lo he vuelto a abrir y ¡TACHÁNNN! las variables me las coge.

He hecho más y más pruebas y he visto que, aunque cambie la ASP, si no cierro el Flash (el programa entero, no sólo la película que estoy haciendo) y lo vuelvo a arrancar, siempre me coge el la primera ASP que ha cargado, como si la guardara en una especie de caché para no descargarla en cada momento.

Esto mismo pasaba con los navegadores y las páginas web y se solucionaba pulsando CTRL-F5.

¿Os pasa esto también a vosotros?

¿Existe alguna especie de CTRL-F5 en flash para no tener que cerrarlo y volver a arrancarlo cada vez que hago un cambio en una ASP?

Gracias

Por CidDeMizar

81 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Oct 2011 01:38 pm
Tiene toda la pinta de cache en el servidor (si lo haces desde el IDE de Flash no hay cache de navegador de por medio) Lo puedes solucionar igual que lo haces en el navegador, agregando un numero random a la llamada al ASP.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 12 Oct 2011 06:21 am
Gracias Jorge, pero me dejas un poco descolocado (perdona mi ignorancia). No entiendo eso de agregar un número random a la llamada ASP.

No me malinterpretes, sé lo que es un aleatorio y cómo generarlo en Flash, pero eso de agregar un número random a la llamada ASP no sé de qué trata. ¿Podrías explicarme un poco?

Gracias.

Por CidDeMizar

81 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Oct 2011 12:49 pm
Suponiendo que lo hagas con un URLoader sería

myLoader.load(new URLRequest("algun.aspx?"+Math.random()));

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 14 Oct 2011 06:45 am
Probaré con eso.

Mira que no conocía el truquito (que deduzco que será más viejo que la rueda), pero fíjate qué ingenioso es.

Como siempre, muchísimas gracias Jorge.

Por CidDeMizar

81 de clabLevel



 

firefox

 

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