![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Ufffffffff.... vaya tonteria... aumente el Stack Size y listo... es lo que pasa con las funciones recursivas...
Max Stack Size = $00400000 Aunque baje el visor de problemas en http://www.eurekalog.com/ y resulta que es muy util... gracias por la info ! Saludetes !!!!
__________________
El diseño dira si tiene futuro... |
|
#2
|
||||
|
||||
|
Pero eso no es una solucion. Si la cantidad de directorios se duplica, no te volvera a pasar?
Me parece que cargas demasiado en el TStringList. Deberias, en mi opinion, hacer la parte de chequear si cumple o no con el patron directamente en el escaneo y no darle dos pasadas.
__________________
El malabarista. |
|
#3
|
||||
|
||||
|
Cierto... mirare un poco a ver si lo resuelvo quitando un poco de lienas del TList... pero sigo pensando que de cualquier manera necesito tener muchas lineas...
La otra opcion es usar un array que ocupa menos memoria que la TList...
__________________
El diseño dira si tiene futuro... |
|
#4
|
|||
|
|||
|
Cita:
Ademas un TList con decenas o cientos de miles de elementos no es nada para cualquier computadora normal. El problema es la llamada recursiva a la funcion, por cada llamada se ocupan 4 bytes de la pila. Ese algoritmo no es correcto, te basta un bucle normal sin recursividad para recorrer la lista. Un bucle normal aunque se ejecute millones de veces ocupa 0 de memoria, en cambio un millon de llamadas recursivas ocuparian 4 millones de bytes en la pila. Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|