Ver Mensaje Individual
  #1  
Antiguo 21-12-2007
Avatar de quinqui
quinqui quinqui is offline
Miembro
 
Registrado: jun 2006
Posts: 14
Reputación: 0
quinqui Va por buen camino
Red face Problema con NMFTP.List... ¿Qué otro componente para FTP recomiendan?

Holas!

Les cuento que estoy trabajando en un programa (en Delphi 5) que entre sus tareas tiene que conectarse a un servidor FTP para enviar determinados archivos locales al host remoto.

Para manejar las excepciones en general del componente he usado el método Cancel del componente dentro de los eventos OnFailure, onListItem y onDisconnect del mismo. Todo funciona de maravilla: cuando hay error, las excepciones saltan y las puedo manejar a gusto.

Pero, siempre tiene que haber un pero: el método List no quiere someterse a mis órdenes, jejeje....

Debido a que en este componente NMFTP he visto que no existe una función del tipo "DirectoryExists", he creado una función que retorna un valor booleano: si la Carpeta FTP existe, retorna verdadero; de lo contrario, Falso.

Precisamente aquí es donde uso el método List. La función obtiene la Lista de archivos del directorio padre y, al recorrerla, pregunta si el directorio en consulta está en esa lista: si está, retorno Verdadero; si no lo está, retorno Falso.
Si se produce un error, salta la Excepción y todo bien.

Sin embargo, a pesar de que la excepción salta, y me muestra los mensajes que yo digo (ejemplo: "error intentando listar los directorios" o "conexion al ftp perdida"), el método List internamente no para. Y ahí es donde está la falla fatal: porque el programa, si bien aparentemente no se bloquea ni se cae, comienza a tragar memoria del sistema como loco, y de hecho cuando intento cerrar el programa, no lo hace, salvo que lo cierre desde el Administrador de Tareas.

Buscando por Google encontré que alguien preguntó esto hace años, en este mismo foro, aunque cuando estaba en otra url (lo tuve que ver por el Cache de google). Esa vez le respondieron que se cambiara al componente IdFtp o Indy, pero yo quiero saber, antes de cambiarme, si alguien en estos años encontró la solución a este bug (si es que es bug), porque llevo harto hecho y lamentablemente no es tiempo lo que me sobra

Esop. Ojalá alguien use aún el NMFTP para que lea y opine al respecto ^^

Muchas gracias desde ya y Saludos!!

Última edición por quinqui fecha: 21-12-2007 a las 21:38:29.
Responder Con Cita