Re: [firebase-br] Não gera exceção DBexpress

Kléber Caneva kdcc em terra.com.br
Sex Fev 10 17:05:49 -03 2006


Quando você utiliza o RAISE, ele não continua.. ele pula direto para o 
Except...

O bloco de try tem que estar assim:

try
    if (CDS.ApplyUpdates(0) <> 0 ) then
      Raise Exception.Create ( DM.ErrorMsg ) ;
except
  Application.HandleException(nil);
end;

Quanto ao commit ou rollback..  o ClientDataSet não necessita... isso é 
feito internamente... A menos que você tenha Aberto a transação 
explicitamente..

[]´s

Kléber Caneva

----- Original Message ----- 
From: "maf.sistemas" <maf.sistemas em itelefonica.com.br>
To: <lista em firebase.com.br>
Sent: Friday, February 10, 2006 3:25 PM
Subject: Re: [firebase-br] Não gera exceção DBexpress


Caro Kleber agora passou a gerar a exceção só ele continua e vai para o 
commit e depois mostra a mensagem no except, mas a transação é comitada 
normalmente, teria como ir para o except para cancelar a transação ?


Marco

O problema é que o ClientDataSet, foi criado para trabalhar
inicialmente em
3 camadas...por isso é não dispara uma exceção...

o que vc pode fazer para solucionar isso é:

1) No DataModule crie uma variavel
      ErrorMsg : string ;

2) No ReconcileError coloque a instrução:
  ErrorMsg := intToStr( e.ErrorCode ) + ' ' +  e.Message  + ' ' +
E.Context
;
  Action := raCancel;

3) ao chamar o ApplyUpdates você usa:
    if (CDS.ApplyUpdates(0) <> 0 ) then
      Raise Exception.Create ( DM.ErrorMsg ) ;

onde: CDS é o seu ClientDataSet e DM é o seu DataModule

Com isso ele irá disparar a exceção.

[]´s

Kléber Caneva
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa

E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=kdcc&_l=1,1139592612.300470.11985.malavi.terra.com.br,4407,Des15,Des15

Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 10/02/2006 / Versão: 
4.4.00/4694
Proteja o seu e-mail Terra: http://mail.terra.com.br/








Mais detalhes sobre a lista de discussão lista