Pessoal: a) Estou estudando o DBExpress/ClientDataSet (com Delphi7) para substituir o BDE
b) Em um cadastro com ClientDataSet, gostaria que, quando o usuario clicar no botao "gravar" de um DBNavigator, o registro imediatamente fosse gravado. c) Para isso, inclui o seguinte codigo, no evento AfterPost do ClientDataSet: procedure TFormCadMatServicos.ClientDataSetTBMATSERVICOSAfterPost(DataSet: TDataSet); begin try ClientDataSetTBMATSERVICOS.ApplyUpdates(0); except ShowMessage('Erro de gravacao'); end; end; d) E' claro que eu pretendo interceptar o erro e mostrar uma mensagem mais amigavel ao usuario. No entanto, se eu rodo o programa de dentro do Delphi 7, o programa para e aparece a mensagem de erro (por exemplo: violacao de chave primaria), mas nao aparece a mensagem acima ("Erro de gravacao") e) Se eu rodo o programa de fora do Delphi, nenhuma mensagem de erro aparece (se eu tento incluir um registro com chave que ja' existe, por exemplo). f) Tentei colocar o codigo acima no "OnPostError" do ClientDataSet (como eu faco com as TQuery do BDE), mas tambem ali nao funcionou. Solicito a gentileza de me enviarem alguma dica para interceptar os erros mais comuns em um ClientDataSet (chave duplicada, violacao de foreign key, campos NOT NULL nao preenchidos, etc.) Grato pela atencao de todos Paulo [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html