Fórum No mapping for error code #237909
16/06/2004
0
Estou usando Delphi 7 com Firebird 1.5 conectando com DBExpress. Acontece que qualquer erro que aconteça em algum cadastro (por exemplo, violação de PK, exclusão de registro referenciado) sempre o erro que retorna (e que fica impossível de tratar) é o DBX: No mapping for error code, ou seja, de alguma forma não está sendo possível ao driver mapear o erro que aconteceu. Tenho um conhecido que usa o mesmo ambiente só que com o Firebird 1.0 e nesse caso os erros são mapeados corretamente (o que torna fácil tratar para o usuário final).
Esses tempos procurei no groups.google.com e vi (acho até que era de alguém do TeamB) um comentário de que se trata de um bug interno do DBExpress, inclusive já corrigido no Delphi 8, mas ainda não (SE for) no Delphi 7.
Alguém já passou por isso? A princípio não gostaria de retroceder na versão do banco, mas se esta for a única solução... :-/
T+
Esses tempos procurei no groups.google.com e vi (acho até que era de alguém do TeamB) um comentário de que se trata de um bug interno do DBExpress, inclusive já corrigido no Delphi 8, mas ainda não (SE for) no Delphi 7.
Alguém já passou por isso? A princípio não gostaria de retroceder na versão do banco, mas se esta for a única solução... :-/
T+
Nextone_br
Curtir tópico
+ 0
Responder
Posts
18/06/2004
Nextone_br
Estou pensando em tentar usar as DLLs do Delphi 8.
Responder
Gostei + 0
23/06/2004
Nextone_br
Acredito que ninguém tenha passado por isso (já que não houve respostas), mas como achei a solução para o caso, passo a mesma para quem possivelmente precisar no futuro. :))
O problema era com a dbexpint.dll. Quando se possui o Delphi 7 e o 8 instalado tem que se tomar cuidado para que o sistema não tente pegar essa DLL que acompanha o Delphi 8 (nesse caso a forma de tratamento dos erros mudou e acontece o que estava acontecendo comigo, ou seja, o sistema que tinha feito com o 7 não entendia os erros que aconteceram no banco). Para resolver o problema pode-se renomear a DLL do Delphi 8 para outro nome qualquer enquanto se estiver trabalhando com o Delphi 7 (ou sistemas resultantes dele).
Para quem tem somente uma das versões instaladas esse problema não ocorre.
[]s;
O problema era com a dbexpint.dll. Quando se possui o Delphi 7 e o 8 instalado tem que se tomar cuidado para que o sistema não tente pegar essa DLL que acompanha o Delphi 8 (nesse caso a forma de tratamento dos erros mudou e acontece o que estava acontecendo comigo, ou seja, o sistema que tinha feito com o 7 não entendia os erros que aconteceram no banco). Para resolver o problema pode-se renomear a DLL do Delphi 8 para outro nome qualquer enquanto se estiver trabalhando com o Delphi 7 (ou sistemas resultantes dele).
Para quem tem somente uma das versões instaladas esse problema não ocorre.
[]s;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)