Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-08-2006
Avatar de Capo
Capo Capo is offline
Miembro
 
Registrado: jul 2004
Posts: 64
Poder: 20
Capo Va por buen camino
Manejo de Excepciones Intraweb

Buenas noches. Saludos desde Colombia.
De antemano gracias por la ayuda que puedan brindarme :
Intraweb 7.2.41 + Delphi 7 + [ADO] MSSQL.

Respetados amigos, en mi aplicacion de escritorio con delphi uso una "rutina" para cachear errores de base de datos [ADO], esa misma "rutina" la he adaptado a mi nueva WebApplication con Intraweb, pero tengo un error que no entiendo como poderlo corregir [[Error] UserSessionUnit.pas(133): Incompatible types: 'Parameter lists differ'], o talvez estoy errado en la forma de cachear los errores de mi base de datos.

En mi IWUsersession tengo una funcion llamada: MostrarMensaje y arribita declaro las constantes de errores ADO:

Código Delphi [-]
var
  IWUserSession: TIWUserSession;
const
  {Declare constants we're interested in}
  eKeyViol = -2147217873;
  eCRFalta = -2147467259;
  eConvert = 1240520;
  eForeignKey = 9733;
  eDetailsExist = 9734;
  eReglaMask = 1242448;
  eIntegridad = -2147217900;
implementation
uses ServerController;
{$R *.dfm}

Function MostrarMensaje(AException : Exception): Boolean;
Var iADOError: Integer;
begin
iADOError := 0;
if (AException is EDataBaseError) then
  iADOError := IWUserSession.ADOConn.Errors.Item[0].Number;
  case iADOError of
    eCRFalta:
    begin
      WebApplication.ShowMessage('Campo Requerido en la Base de Datos', smAlert);
    end;
    eKeyViol:
    begin
      WebApplication.ShowMessage('Violacion de restriccion en la Base de datos, Favor Verifica Datos', smAlert);
    end;
    eConvert:
    begin
      WebApplication.ShowMessage('Error de conversion de datos, Favor Verificar Datos', smAlert);
    end;
    eReglaMask:
    begin
      WebApplication.ShowMessage('Error Ingreso de datos, Favor Verificar Datos', smAlert);
    end;
    eIntegridad:
    begin
      WebApplication.ShowMessage('Error Integridad de Base de Datos, Favor Verificar Datos',smAlert);
    end;
  else
    WebApplication.ShowMessage(Pchar('Error de Base de datos.           '+#13+'#Error: '+IntToStr(iADOError)+#13+'Clase:'+AException.ClassName), smAlert);
  end;
end;

Luego tengo un procedure llamado Excepciones, el cual llama la funcion MostrarMensaje y manda la excepcion.

Código Delphi [-]
Procedure TIWUserSession.Excepciones(AApplication: TIWApplication; AException: Exception);
Begin
  If Not MostrarMensaje(AException) Then
    WebApplication.ShowMessage('Error de Base datos', smAlert);
End;

Al final en el evento Create de mi IWUserSession, escribo lo siguiente para la cacheada de los errores:

Código Delphi [-]
IWServerController.OnException := Excepciones;

Pero el error al intentar ejecutarlo es: [[Error] UserSessionUnit.pas(133): Incompatible types: 'Parameter lists differ'].

Como cito arriba en mi Applicacion de escritorio funciona bien, aunque el unico cambio que realice para adaptarlo a Intraweb fue en los parametros de la propiedad OnException.

Para Intraweb
Código Delphi [-]
 Procedure Excepciones(AApplication: TIWApplication; AException: Exception);

y asi se debe crear para Escritorio
Código Delphi [-]
Procedure Excepciones(Sender: TObject; E: Exception);

Agradezco cualquier norte ke me puedan brindar. saludos. Dabeto
Responder Con Cita
 



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
Manejo de Excepciones anghell77 OOP 7 10-08-2006 18:46:48
No me sale el manejo de excepciones Torreblanca Varios 3 11-07-2006 18:32:45
manejo de excepciones try y except no funciona gulder Conexión con bases de datos 4 10-11-2005 14:50:00
manejo de excepciones el_barto Varios 4 08-06-2005 09:48:36
Ayuda con Manejo de Excepciones buffygcs SQL 2 21-04-2005 17:52:09


La franja horaria es GMT +2. Ahora son las 06:41:18.


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