Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/07/2007, 16:46
jmorenoponce
 
Fecha de Ingreso: enero-2006
Mensajes: 29
Antigüedad: 18 años, 3 meses
Puntos: 0
Impresion en Caja de Texto hiper lenta

Hola amigos, os escribo porque tengo un problema que te tiene desesperado.

Tengo un flash que a traves de un codigo php recibe datos de una db en forma de xml. Aproximadamente hablamos de mostrar en esa caja entre 70 - 150 registros.

He comprobado que el acceso y la recepcion de los datos no sea un problema, es instantaneo, he probado que el problema no sea el usar fuentes embebidas, ni tampoco por usar css.

De hecho, si quito el código para rellenar la caja de texto y en su lugar hago un trace, se muestran los datos instantaneamente.

Conclusión, que pienso que el problema es que la caja de texto de flash es lentorra.

¿Podriais decirme si estoy en lo cierto y, en ese caso, explicarme alguna otra alternativa?

Os pego el código.

Código:
// Código para Embeber la fuente de la caja de texto.
var mi_formato = new TextFormat();
var mi_formato_bold = new TextFormat();

mi_formato.font = "Fuente 1";
mi_formato_bold.font = "Fuente 2";
caja.embedFonts = true;


// Creo un nuevo objeto de CSS haciendo referencia a la ruta del fichero y lo aplico a la caja de texto.
var myCSS = new TextField.StyleSheet();
var cssURL = "../estilos/textos_flash.css";

myCSS.onLoad = function(exito) 
{
        if (exito) 
	{
                  caja.styleSheet = myCSS;
    	}	
};
myCSS.load(cssURL);


// Creo un nuevo objeto XML  haciendo referencia al php que gestiona la agenda, lo recorro y lo maqueto.
var obj_xml:XML = new XML();
var n_nodos:Number;
var i:Number;

obj_xml.ignoreWhite = true;

obj_xml.onLoad = function(exito) {
        if (exito) 
        {
		n_nodos = obj_xml.firstChild.childNodes.length;
		caja.htmlText = '';
		for( i = 0; i < n_nodos; i++)
		{
			caja.htmlText = caja.htmlText + '<b><span class="fecha">' + obj_xml.firstChild.childNodes[i].childNodes[0].firstChild.nodeValue + '</span>' + ' - <span class="espectaculo">' + obj_xml.firstChild.childNodes[i].childNodes[4].firstChild.nodeValue + '</span></b>';
			caja.htmlText = caja.htmlText + '<span class="sangrado">';
			caja.htmlText = caja.htmlText + '<br />' + obj_xml.firstChild.childNodes[i].childNodes[3].firstChild.nodeValue + ' (' + obj_xml.firstChild.childNodes[i].childNodes[2].firstChild.nodeValue + ')';
			caja.htmlText = caja.htmlText + '<br />' + obj_xml.firstChild.childNodes[i].childNodes[1].firstChild.nodeValue;
			caja.htmlText = caja.htmlText + '</span><br /><br />';
		}
	} 
};

obj_xml.load("gestor_agenda.php");

stop();