Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-01-2008
cepriego cepriego is offline
Registrado
 
Registrado: feb 2005
Posts: 8
Poder: 0
cepriego Va por buen camino
Talking Cómo mostrar el error de que la BD de datos está siendo utilizada por otra aplicación

Hola a todos, tengo el siguiente problema utilizando Firebird Embedded.

Tengo dos aplicaciones que hacen uso de una base de datos Firebird empleando Firebird Embedded 2.0.

Como sabrán, siendo una versión monoplaza, no se permite que más de una aplicación tenga acceso a la BD a la vez.

Yo lo que deseo es mostrar un mensaje al usuario, informándole de que hay otra aplicación haciendo uso de la base de datos, sin embargo, cuando ejecuto la aplicación (fuera de Delphi) el mensaje no aparece, sólo se escucha el sonido del mensaje (ya saben ese bum de los mensajes de error XD) pero el mensaje no se muestra al usuario.

Yo lo que hago es lo siguiente:

Código Delphi [-]try DB.open Except on E: exception
Showmessage('Mensaje')
end;


En tiempo de diseño el error si aparece, sin embargo cuando ejecuto el .exe no pasa nada. Sé también que este código no funciona del todo bien, ya que puede haber muchos otros motivos por los cuales la base de datos no pueda abrirse, y me gustaría saber como pillar el error exacto que se da cuando la BD esta siendo usada por otra aplicación.

Estoy usando Delphi 6.0 y los componentes de acceso son los MDO 9.0.

Alguna sugerencia o idea?

Se los agradeceré mucho
Responder Con Cita
  #2  
Antiguo 28-01-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Más o menos:
Código Delphi [-]
procedure TfrmMdi.ApplicationEvents1Exception(Sender: TObject; E: Exception);
var strDebug:string;
    strMessage :string;
begin
  strMessage := E.Message;
  if (e is EMDOError) then
  begin
    strDebug := 'SqlCode: ' +inttostr(EMDOError(E).SQLCode) + espacio + E.ClassName;
    dtm.log.Add(strMessage + saltolinea + strDebug);
  end;
//  else
    ShowMessage('Al usuario: ' + strMessage + saltodoble +
                'Mensaje de Debug: ' + strDebug + saltodoble );

end;

Por internet existen listados con el sqlcode, mensaje y breve significado. busca por fb_1_5_errorcodes.pdf

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 28-01-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 22
ixMike Va por buen camino
Cita:
Empezado por Lepe Ver Mensaje
saltodoble
jeje, curiosa forma de decir #13#13


Salu2.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cómo cerrar otra aplicacion desde mi aplicacion en Delphi 7 Gaby123 API de Windows 5 04-01-2007 22:44:51
error al abrirse la aplicación cuando la base de datos esta en un 2003 server Giniromero Conexión con bases de datos 2 15-03-2005 10:09:35
Saber si un Tabla(dataset) esta siendo usado por otro componente cacuna OOP 3 26-05-2004 18:21:43
Quiero Saber como hacer que un boton se vea que esta siendo pulsado Julio César Varios 2 27-11-2003 18:34:11
Saber si otra aplicacion esta en ejecucion Salomon Varios 3 07-10-2003 18:19:31


La franja horaria es GMT +2. Ahora son las 17:41:52.


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
Copyright 1996-2007 Club Delphi