Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Capturar ESocketError

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Capturar ESocketError Responder citando

Hola a todos

Estoy trabajando con el Compoente TClientSocket y cuando el host no es correcto me salta la excepción ESicketError y no se como capturarla.
He probado así

try{
Cliente->Open();
}
catch(ESocketError &e){
ShowMessage(e.Message);
}
y nada, he incluso poniendo en el catch ..., y no soy capaz de gestionar yo esta excepción.

¿ Que estoy haceindo mal?

Volver arriba
Mensaje    Asunto: Capturar ESocketError Responder citando

No hace falta el try catch, lo único que tienes que tienes que hacer es capturar el error en el evento OnError, donde la variable ErrorCode te devuelve el erro que se ha producido. Para saber de que error se trata mira en la ayuda de Borland, que no me se los errores de memoria.
Espero que te sirva
Volver arriba
Mensaje    Asunto: Capturar ESocketError Responder citando

Hola Diego

El problema es que ya uso el evento OnError y pongo Error =0, para que el mensaje no siga, pero aún así me sigue saltando el mensaje de error, por eso estuve probando con try y catch y nada, ya no se que probar o que tocar.

Saludos Manolo

Volver arriba
Mensaje    Asunto: Capturar ESocketError Responder citando

Hola Manolo,

A mi me pasó lo mismo cuando pasé mi programa a Builder 5, con el 4 no me pasaba, lo que hice fue declarar en la parte private del form:

void __fastcall AppException(TObject *Sender, Exception *E);

luego asigno el envento en el constructor del form:

Application->OnException = AppException;

I en la función hacer algo así:

void __fastcall TFormInici::AppException(TObject *Sender, Exception *E)

{

if(AnsiString(E->ClassName()) != "ESocketError")
{
Application->ShowException(E);
}
}

De esta manera el programa dejó de mostrarme el error de host desconocido.

Saludos

Josep

Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.