Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-12-2007
Avatar de quinqui
quinqui quinqui is offline
Miembro
 
Registrado: jun 2006
Posts: 14
Poder: 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
  #2  
Antiguo 21-12-2007
Avatar de quinqui
quinqui quinqui is offline
Miembro
 
Registrado: jun 2006
Posts: 14
Poder: 0
quinqui Va por buen camino
He estado buscando más sobre el error del NMFTP.List, y con sorpresa he visto que muchos han tenido el mismo problema... La solución siempre propuesta ha sido un cambio de componente. En la mayor parte de los casos sugieren el Indy, pero en otro lado leí que igual tenía fallitas; en otro lado encontré uno llamado ICS, de OverByte, que decían no tener errores.

Creo que a estas alturas la realidad es contundente y tendré que cambiar de componente... En ese caso, mi pregunta cambia ahora a ¿Qué componentes me recomiendan? A mí me parece bien el ICS, pero no sé qué opinen ustedes que saben más...

Gracias otra vez!!! Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Forzar pegado Khronos Varios 1 20-10-2007 15:33:34
Componente NMFTP epalacios Internet 0 26-02-2007 17:46:36
Componente NMFTP Lucciano Internet 2 15-05-2006 17:53:46
Evitar Pegado nemesio Varios 9 03-12-2005 03:53:41
Reposteo Nmftp Error!!! Enan0 Internet 0 23-08-2004 22:16:08


La franja horaria es GMT +2. Ahora son las 22:54:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi