No mapping for error code

Delphi

16/06/2004

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+


Nextone_br

Nextone_br

Curtidas 0

Respostas

Nextone_br

Nextone_br

16/06/2004

Estou pensando em tentar usar as DLLs do Delphi 8.


GOSTEI 0
Nextone_br

Nextone_br

16/06/2004

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;


GOSTEI 0
POSTAR