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 

Saber el nombre del Objeto que provoca una excepción

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Saber el nombre del Objeto que provoca una excepción Responder citando

Tengo este codigo con el cual capturo las excepciones de la aplicación:
Código:

void __fastcall TMDatos::ErrorServidor(TObject *Sender, Exception *E)
{
   //si es una excepcion de interbase
   if(E->ClassNameIs("EIBInterBaseError"))
   {
      EIBInterBaseError *ErrorIB = reinterpret_cast<EIBInterBaseError>(E);

      // si realmente es de interbase, tratamos el codigo de error
      if(ErrorIB->SQLCode == -902)
      {
         fV->MenDialogo(
         "Su RED ha sufrido un Corte de Luz, "
         "o su RED no es Consistente contra Fallos de Conexión.\n\n"
         "TPVBarman Élite, tiene que desconectarse del Servidor.\n"
         "Saldrá del Programa, para evitar un mal mayor.\n","!");

            MostrarBarraInicio();
         Application->Terminate();// Salir del programa con Error
         exit(EXIT_SUCCESS);
      }
        else
           fV->MenDialogo(
         "Error interno de Interbase.\n"
         "Número de Error SQLCode: " + String(ErrorIB->SQLCode) + "\n"
            "Número de Error IBErrorCode: " + String(ErrorIB->IBErrorCode) + "\n"
         "Por favor anote este mensaje y pongase en contacto con el servicio tecnico\n","!");
   }
   else
       fV->MenDialogo(L"Error Interno Controlado:\n"
        "Objeto: " + ((TObject *)Sender)->MethodName(Sender) + "\nMensaje:\n" + E->Message, "E");
}


El problema es que no consigo capturar el nombre del "TObject *Sender" que supuestamente a creado dicha excepción.
Quisiera conseguir mas o menos esto:
Código:

fV->MenDialogo(L"Error Interno Controlado:\n"
        "Objeto: " + ((TObject *)Sender)->Name + "\nMensaje:\n" + E->Message, "E");

Estoy perdido...
_________________
Muchos hombres no se equivocan jamás porque no se proponen nada razonable.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor
Mensaje    Asunto: Responder citando

Código:
fV->MenDialogo(L"Error Interno Controlado:\n"
        "Objeto: " + Sender->ClassName() + "\nMensaje:\n" + E->Message, "E");


Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Gracias, escafandra...
_________________
Muchos hombres no se equivocan jamás porque no se proponen nada razonable.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor
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.