Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   cambiar los mensajes de error de interbase (https://www.clubdelphi.com/foros/showthread.php?t=10785)

dungeon 28-05-2004 17:52:20

cambiar los mensajes de error de interbase
 
Perdona que te moleste, pero te envio este e-mail para ver si me podrias ayudar a resolver un problema que tengo con una aplicacion que estoy realizando.
el problema es el siguiente:
lo que me interesa hacer es que los mensajes de error que da la aplicacion es cambiarlos a forma humana y que me enseñe el numero de error en question la primera parte la tengo hecho lo que me falla es la segunda, yo lo he hecho asi para verlo i me da errores:

Código:

procedure TFrmvehiculodetalles.tratarexcepciones(sender: tobject; e : exception);
begin
        if e.ClassNameIs('eibinterbaseerror') then
                showmessage(format('iberrorcode: %d - sqlerrorcode: %d',[EIBInterbaseError(e).IBErrorCode,EIBInterbaseError(e).SQLCode])+#13+ 'Mensaje: '+e.Message)
  else
        ShowMessage(E.Message);

el error que me da es undeclared identifier('eibinterbaseerror').

gracias por todod y disculpa las molestias.

vic_ia 28-05-2004 19:00:14

hola....

desconozco interbase... y a riesgo de decir una barrabazada, me imagino que el problema es simplemente por que te falta incluir en el uses de tu unidad el nombre de la unidad en donde esta definida la clase eibinterbaseerror

saludos....

quimeras 31-05-2004 10:05:40

Aqui hay un articulo de Borland, ademas esta en castellano, que explica como hacerlo, quizas te aclare alguna duda:
http://community.borland.com/article...,28498,00.html

dungeon 31-05-2004 11:11:15

ya tengo el problema resuelto pero el inconveniente que tengo ahora es que en lugar de mostrarme el codigo de error y el mensaje de error solo me enseña el mensaje.
[code]
procedure TFrmvehiculodetalles.tratarexcepciones(sender: tobject; E : exception);
begin
if E.ClassNameis('eibinterbaseerror') then
showmessage(format('iberrorcode: %d - sqlerrorcode: %d',[EIBInterbaseError(e).IBErrorCode, EIBInterbaseError(e).SQLCode])+ #13 + 'mesaje: '+ e.Message)
else
ShowMessage(E.Message);
end;

Lo que no entiendo es porque no me enseña el numero error.


La franja horaria es GMT +2. Ahora son las 21:39:43.

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