Arquivos da categoria : DEP


Delphi 2007 + Vista = Access Violation… Error bordbk105n.dll – ATUALIZADO 12fev2008

Hoje passei algumas horas ajudando um amigo a resolver este problema, o que não foi simples pois a IDE simplesmente fechava sem mostrar nenhuma mensagem de erro e os mesmos projetos funcionavam perfeitamente no Delphi 6 e Delphi 7, após muitas tentativas com diferentes projetos o seguinte erro apareceu:

 
---------------------------
bds.exe - bordbk105N.dll
---------------------------
Assertion failure: "index <= items.n()"
in ..\win32src\DBKIMPL.CPP at line 2671
 

Pesquisando na internet encontrei mensagens de algumas pessoas que tiveram com o mesmo problema, mas nenhuma solução definitiva ou satisfatória, apenas duas pessoas dizendo que o problema parou, dois casos distintos:

  1. Utilizava o Intraweb, e o problema acontecia quando o Firefox estava definido como browser padrão, o problema se foi quando ele definiu o IE como padrão.
  2. O .EXE gerado estava protegido, e após mudar as propriedades do arquivo ele conseguia utilizar a IDE para depurar.

Após várias idéias e possíveis soluções, pudemos supor que se tratava de um problema de segurança relacionado ao Windows DEP, no primeiro por que provavelmente o IE não estava sendo monitorado pelo DEP ou por padrão a Microsoft o considera seguro, não sei, no segundo os arquivos criados são desabilitados para execusão.

A solução

Desativando o Windows DEP tudo funcionou perfeitamente, creio que a melhor configuração seja desativa o DEP apenas para o RAD studio, eu não vi exatamente como isto funciona. Mais informações sobre o DEP podem ser encontradas aqui http://pt.wikipedia.org/wiki/Data_Execution_Prevention.

Atualização

Mesmo após desativar o DEP outros problemas aleatórios aconteciam com o Rad Studio 2007 enquanto “debugando”, o que no meu computador é muito estável. O usuário em quantão tem contrato de suporte com a codegear então Roy Nelson pediu a lista de processos que aparecem na janela Help | About | Version Info:

image

E entrou uma entrada que era uma biblioteca da Webcam da Logitec que estava interferindo no processo de “debug”.