Você está trabalhando em um projeto no seu bom e velho Delphi, e sem qualquer cerimônia a IDE emite: “Access violation at address <...> in module ‘DFWEDIT.DLL’. Read of address <...>” ao abrir uma unit do projeto. Você pesquisa e descobre que esta biblioteca é do próprio Delphi. Fecha e reabre a IDE. Nada. Reinicia o micro. Nada. E agora?
Não sei exatamente do que se trata, mas os meus passos para fazer o problema aparecer, foram:
- Criar um projeto com Delphi 5 Professional.
- Abrir o mesmo projeto com Turbo Delphi Explorer.
- Resolver alguns erros de compilação, deixar o código compatível com os dois compiladores, etc., etc. e salvar o projeto.
- Voltar ao Delphi 5, reabrir o mesmo projeto e tentar abrir uma das units que foram abertas no Turbo Delphi.
Pronto. Se você teve sorte, ao abrir a unit você viu algo como isto aqui:
E depois disto a IDE não presta mais, você mal consegue fechá-la sem apelar para as vias de fato.
Este erro ocorre devido a um corrompimento do arquivo NomeDoGrupo.dsk, que é gravado na mesma pasta do .bpg, e este Arquivo é lido pela IDE para compor o menu File | Reopen. Porém, não adianta apenas remover o arquivo .dsk, a IDE faz um merge deste arquivo com informações do registro, é necessário também apagar as entradas “File*” da chave “HKEY_CURRENT_USER\Software\Borland\Delphi\5.0\Closed Files”. É uma chave do usuário, não precisa ter privilégio de administrador. Feito isto, basta fechar e reabrir a IDE para o erro desaparecer. Talvez problema semelhante possa ocorrer com outras versões antigas, então fica a dica.
Ai João obrigado pela dica, um dia sairei do grau de aprendiz e poderei retriuir, por em quanto muito obrigado.
Olha, queria só avisar pro pessoal que ache essa pagina que no meu caso, mexendo com o Delphi 6 essa mensagem apareceu, mas foi porque eu fazia referencia a um formulário e não tinha criado ele no formulário em que estava mexendo. Pra quem nao entendeu…
EX. errado:
if qryMoveFotos.IsEmpty then
MoverArquivo(‘C:\Inforlub\Images\Products\’);
FormAguarde.BarraProgressao.StepIt;
EX. CORRETO:
FormAguarde := TFormAguarde.create(Application);
FormAguarde.show;
if qryMoveFotos.IsEmpty then
MoverArquivo(‘C:\Inforlub\Images\Products\’);
FormAguarde.BarraProgressao.StepIt;
A mensagem que você recebeu foi um Access Violation, no entanto não foi no módulo DFWEDIT.DLL. O seu erro é causado através da sua aplicação, e o erro reportado neste post é causado dentro da IDE do Delphi.
Cara… valeu pela dica.. tava no meio de um projeto e ja tava apavoradooo… ehehhe
Abraço!!!
Thank you so much! You saved my day! 🙂
I’m developing hobby project (KaM Remake) and today I was going to work on it but the error appeared and I couldn’t find any solution but yours!