Delphi - Tratamiento de excepciones con dll's

 
Vista:

Tratamiento de excepciones con dll's

Publicado por Mariposa Mental (9 intervenciones) el 15/12/2005 15:08:41
Hola a todos,
tengo un programa separado en distintas dll's, estoy intentando capturar los errores de la base de datos, Interbase, para cambiarles el mensaje y que salga un error más "bonito".
En un programa sin dll no tengo problemas, asigno una función con el tratamiento a Application.OnException y las trato áhí.

Pero con las dll's, no he conseguido ponerlo en la dll que primero se carga y que me lo coja, necesita que se lo ponga en cada uno de los formularios, esto último, lo he probado y funciona.

Necesitaría saber si se puede poner en algún sitio común evitando tener que tocar todos los formularios de la aplicación.

Espero haberme explicado. Muchas gracias, un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Tratamiento de excepciones con dll's

Publicado por Edgar Rodriguez (172 intervenciones) el 16/12/2005 23:06:04
Bueno, yo hace rato que he implementado un código para superponer mi propia ventana con la excepción creada. Incluso hice yo mismo los gráficos y funciona muy bien, te doy una pista... deriva una nueva clase del Exception EAbort... disculpa si no te mando el código pero estoy lejos de casa...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tratamiento de excepciones con dll's

Publicado por Mariposa Mental (9 intervenciones) el 19/12/2005 10:40:50
Hola, primero gracias por responder.
Si no lo he entendido mal lo que me has explicado es para hacer que mi ventana sea la que muestre el error, aunque no he acabado de entender lo del EAbort.

De momento, ya he conseguido poner la llamada en un sitio donde podrán leer todas las dll's, ya que es un módulo incluido en todas y que se llama al crear los formularios, pero ahora tengo problemas para asignar el procedimiento al evento.

Os digo cómo lo tengo declarado a ver si alguien me puede dar pistas.

procedure Excepciones(Sender: TObject; E: Exception);

type TExceptionEvent = procedure(Sender: TObject; E: Exception)of Object;

Y luego en la función que os he comentado :

Application.OnMessage = Excepciones;

En esta última instrucción me dice que le faltan parámetros, cuando en todos los ejemplos que he visto no hace falta pasarle nada y tampoco sabría que pasarle como excepción.

Lo del type lo tuve que poner porque sino me decía que el tipo de procedimiento que le pasaba y el que esperaba no eran iguales.

Espero que me podais ayudar.
Muchas gracias, un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar