Pessoal, Implementei uma função que jogo em todos os ReconcileError do DataSet. Gostaria de saber se posso melhorá-la: function Tdata.ReconciliaErro(Mensagem: EReconcileError; Evento: TUpdateKind): TReconcileAction; var sEvento: string; begin case Evento of ukModify: sEvento:='Erro na alteração do registro. '; //The update to the record is a modification to the record's contents. ukInsert: sEvento:='Erro na inclusão do registro. '; //The update is the insertion of a new record. ukDelete: sEvento:='Erro na exclusão do registro. '; //The update is the deletion of a record. end; if Pos(UpperCase('violation of FOREIGN KEY constraint'), UpperCase(Mensagem.Message)) > 0 then Application.MessageBox(Pchar(sEvento + 'Você não pode excluir este registro, existem dados relacionados!'),'Erro', MB_OK+MB_ICONERROR) else if Pos(UpperCase('attempt to store duplicate value (visible to active transactions) in unique index'), UpperCase(Mensagem.Message)) > 0 then Application.MessageBox(Pchar(sEvento + 'Não foi possível incluir, este registro já existe nesta tabela!'),'Erro', MB_OK+MB_ICONERROR) else if Pos(UpperCase('violation of PRIMARY or UNIQUE KEY'), UpperCase(Mensagem.Message)) > 0 then Application.MessageBox(Pchar(sEvento + 'Não foi possível incluir, este registro já existe nesta tabela!'),'Erro', MB_OK+MB_ICONERROR) else Application.MessageBox(PChar(sEvento + 'Erro: ' + Mensagem.Message + '!'),'Erro', MB_OK+MB_ICONERROR); Result:= raCancel; end; Chamo ela da seguinte forma: procedure Tdata.tbConfigReconcileError(DataSet: TCustomClientDataSet; E: EReconcileError; UpdateKind: TUpdateKind; var Action: TReconcileAction); begin Action:=data.ReconciliaErro(E, UpdateKind); end; Se puderem me ajudar... ou se quiseram usar a rotina para seu proveito ... Atenciosamente, Levi Ribeiro de Freitas Programador de Computadores
[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] ou [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