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]/
-------------------------------->

Responder a