No, parece que no es cuesti�n de memoria. He mirado como me has dicho, y el
uso de memoria no sube mucho despu�s de llenar el textfield. Es el parseado,
que no es nada fluido. Cuando acaba de cargar el HTML, se pone la CPU se
pone al 100% durante un rato para parsearlo, y me suelta avisos cada 15
segundos para abortar la ejecuci�n. Para parsear 1000 resultados me tarda
unos 50 segundos (!).
Si insisto en no abortarlo respondiendo que no, acaba solt�ndome el c�digo
en el textField... pero hay veces que en ese lapso de tiempo se cuelga, no
s� si es que el script exprime la cpu y provoca problemas, tampoco s� c�mo
evitarlo, si se le puede asignar menos recursos o algo as�... quiz� con
arrays, aunque en alg�n momento tengo que recorrerlo igual y reconstruir un
string. Tampoco entiendo por qu� puede provocar inestabilidad el bucle. �Hay
alguna manera de evitar que flash intente interrumpir el script?
Me parece que mi c�digo conf�a demasiado en la potencia de la CPU y en la
solvencia de flash con los strings, dejo aqu� el c�digo del parser por si a
alguien se le ocurre algo... el str que se le pasa es el rawdata le�do
directamente del URL, y devuelve un string que saco luego en el textField
(sin demasiado problema por lo que parece).
function makeDanceRecordsList(str) {
// REAL MEDIA PLAYLIST HEADER TAGS
myDate = new Date();
playListStr="<?xml
version=\"1.0\"?><PACKAGE><TITLE>"+myDate.toString()+"</TITLE><ACTION>import
,play,replace</ACTION><SERVER><LOCATION>%f</LOCATION></SERVER>";
playListStr+="<TARGET>lista</TARGET><TRACKLIST>\n";
// MAIN PARSE LOOP
index = str.indexOf("/makeram.php?id=");
while(index != -1) {
// RETRIEVE STREAM LINK
str = str.slice(index);
beginMark = 0;
endMark = str.indexOf("\"");
fileName = str.slice(beginMark,endMark);
fileName = "http://www.dancerecords.com"+fileName;
str = str.slice(endMark);
// RETRIEVE AUTHOR NAME
k = str.indexOf("search.php");
str = str.slice(k);
endMark = str.indexOf("</a>");
beginMark = endMark;
do {
char = str.charAt(beginMark);
beginMark--;
} while (char !=">");
beginMark+=2;
authorName = str.slice(beginMark,endMark);
str = str.slice(endMark);
// RETRIEVE TRACK NAME
index = str.indexOf("record_id");
str = str.slice(index);
endMark = str.indexOf("</a>");
beginMark = endMark;
do {
char = str.charAt(beginMark);
beginMark--;
} while (char !=">");
beginMark+=2;
trackName = str.slice(beginMark,endMark);
str = str.slice(endMark);
// INTRODUCE TRACK IN THE LIST
playListStr+= "<TRACK><TRACKID>"+totalTracks+"</TRACKID>\n";
playListStr+= "<TITLE>"+trackName+"</TITLE>\n";
playListStr+= "<ARTIST>"+authorName+"</ARTIST>\n";
playListStr+= "<FILENAME>"+fileName+"</FILENAME>\n";
playListStr+= "</TRACK>\n";
// NEXT ONE
index = str.indexOf("/makeram.php?id=");
}
// PLAYLIST POST-TAGS
playListStr += "</TRACKLIST></PACKAGE>";
return playListStr;
}
----- Original Message -----
From: Daniel Miranda
To: [EMAIL PROTECTED]
Sent: Tuesday, March 02, 2004 12:58 PM
Subject: Re: [ASNativos] L�mites de un textField?
Hola
me parece que el limite no es a la capacidad del Textfield sino a la memoria
de la m�quina, fijate en el administrador de tareas la cantidad de memoria
que utiliza tu pelicula cuando llenas de datos un campo de texto y te
sorprender�s.
Yo he tenido problemas similares y la unicac soluci�n que he encontrado es
paginar el contenido a mostrar.
Un saludo y suerte
Daniel
----- Original Message -----
From: "David P�rez Ortu�o" <[EMAIL PROTECTED]>
To: "ASNativos" <[EMAIL PROTECTED]>
Sent: Tuesday, March 02, 2004 6:28 AM
Subject: [ASNativos] L�mites de un textField?
> Tengo un programilla que me he hecho para obtener playlist directamente de
> algunas tiendas de m�sica en vinilo, y que utilizo para ir revisando lo
que
> sale cada semana.
>
> El programilla lee directamente desde la URL que le doy, y utiliza el
evento
> onData para meter el rawdata en un parser, que se encarga (en plan chapu)
de
> extraer de entre el c�digo HTML una serie de links con los que construyo
una
> lista para Windows Media Player � Real Media Player, y la saco en un
> textField para poder cortar y pegar el c�digo desde ah�.
>
> La cosa es que cuando la p�gina de origen tiene muchos links de audio (p.
> ej. a partir de 400), Flash se me cuelga... cosa que no ocurre si limito
el
> n�mero de enlaces a 50 � 100. No s� si es que los textField tienen cierto
> l�mite de capacidad, y cuando lo superas casca, o bien las variables
string,
> el caso es que empieza a tardar y se queda pillado. Los bucles que parsean
> el material est�n bien, los he revisado mil veces...
>
> �Se os ocurre una soluci�n alternativa o alguna raz�n para explicar el
> fen�meno? He pensado en pasarle un array a un script y que me lo guarde en
> un archivo de texto, pero eso ya me har�a meterlo bajo un server, y lo que
> quer�a era tener un swf � un exe independiente, ya q se trata de una
> aplicaci�n casi para mi uso personal.
>
> <!-------------------------------
> 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]/
-------------------------------->
<!-------------------------------
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]/
-------------------------------->