ClientDataSet, ReconcileError não funciona
Fiz uma aplicação simples para testar a reconciliação de erros do componente ClientDataSet, entretanto, o mesmo não funciona.
Usei o exemplo da revista ClubeDelphi, edição 16, acessando uma base de dados firebird.
Abri o programa duas vezes para testa o problema de concorrência de dados. Os dois programas exibiam o mesmo registro, então, no programa A, alterei um campo e gravei no BD (comitando). No programa B, que exibia o mesmo registro, alterei o mesmo campo e mandei gravar. Ocorrei um erro disparando o evento ReconcileError do ClientDataSet.
Depois de manipular o erro, no mesmo evento, passei o parâmetro raMerge para a variável Action. No entanto, não foi gravado nada no BD e foi disparado novamente o evento ReconcileError. Passando os parâmetros raMerge ou raRefresh, o ClientDataSet, não consegue fazer o que os parâmentros proprõe. Inclusive usando o formulário padrão de manipulação de erros da Borland, através da função HandleReconcileError, não consegui fazer funcionar corretamente.
Alguém já conseguiu usar este evento adequadamente ?
Grato pela atenção
Luiz
Usei o exemplo da revista ClubeDelphi, edição 16, acessando uma base de dados firebird.
Abri o programa duas vezes para testa o problema de concorrência de dados. Os dois programas exibiam o mesmo registro, então, no programa A, alterei um campo e gravei no BD (comitando). No programa B, que exibia o mesmo registro, alterei o mesmo campo e mandei gravar. Ocorrei um erro disparando o evento ReconcileError do ClientDataSet.
Depois de manipular o erro, no mesmo evento, passei o parâmetro raMerge para a variável Action. No entanto, não foi gravado nada no BD e foi disparado novamente o evento ReconcileError. Passando os parâmetros raMerge ou raRefresh, o ClientDataSet, não consegue fazer o que os parâmentros proprõe. Inclusive usando o formulário padrão de manipulação de erros da Borland, através da função HandleReconcileError, não consegui fazer funcionar corretamente.
Alguém já conseguiu usar este evento adequadamente ?
Grato pela atenção
Luiz
Lab
Curtidas 0