Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   problema con conexion a FTP (https://www.clubdelphi.com/foros/showthread.php?t=54064)

mjjj 07-03-2008 21:16:52

problema con conexion a FTP
 
Hola amigos... tengo una consultita...

Tengo un servidor FTP de donde descargo algunos archivos para mi aplicacion.

Dentro de mi aplicacion tengo un TIdFTP, que es el que se conecta con el servidor. El codigo esta algo asi:

Código Delphi [-]
try
idftp1.Connect;
if idftp1.Connected = true then
begin
.............
end;
except
end;

Que es lo que trato de hacer con este codigo... que cuando se conecta al servidor haga ciertas cosas, pero en el caso que no pudiera conectarse, simplemente que no haga nada....

Para probarlo, desconecto el servidor FTP y corro la aplicacion y me tira un error de que no se puede conectar al servidor

Como hago para solucionar este problemita???

Saludos

jachguate 08-03-2008 00:57:43

Hola.

Solo quiero comentar que después de la llamada a connect, no hace falta que verifiques si está conectado... es una de las ventajas de los lenguajes que soportan excepciones.

Basta con que hagas:

Código Delphi [-]
try
  idftp1.Connect;
  BajarElArchivo();
except
  CodigoParaExcepciones;
end;

En segundo lugar, ¿estas segur@ que no estas confundiendo el mensaje que salta dentro del IDE con el mensaje que saltaría en la interfaz del usuario?

En delphi 2007 basta que selecciones la casilla "Ignore this exception type" antes de darle al botón "Continue" para que el IDE no vuelva a saltar con ese tipo particular de excepción. En versiones anteriores, podes lograr este comportamiento editando la lista Language Exceptions, que está en las propiedades del debugger.

Hasta luego.

;)

mjjj 09-03-2008 17:41:28

hola jachguate...

El error que me tira es el siguiente:

Socket Error # 10054 Connection reset by peer.

Como hago para que delphi detecte este error y no realizace nada al detectarlo... simplemente que lo pase por alto??

Gracias

jachguate 11-03-2008 05:03:04

Con el código que tenés, no solo se tragará ese error... sino todos. Algo no recomendable. Siempre que se incluye una clausula except, debiera manejarse solamente aquellos errores con los que sabemos exactamente que hacer...

Es mejor:

Código Delphi [-]
try
  CualquierCosa();
except  
  on EClaseEspecificaDeError do
    ;
end;

En general, si no sabes cual es la clase de un error... espera a que salte en tiempo de corrida dentro del IDE, y el mensaje que muestra Delphi (no tu aplicación) dirá la clase de excepción que se ha levantado.

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 01:59:39.

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