Erros de memoria - Access Violation - Dicas?
18/01/2005
0
Access violation at address 004547F9 in module ´PROGCONTROL.EXE´. Read of address FFFFFFFF Access violation at address 0041B241 in module ´PROGCONTROL.EXE´. Read of address FFFFFFFF Access violation at address 00000009. Write of address 033A79D1 Access violation at address 72507365. Read of address 72507365 Access violation at address 00000013. Write of address 030A1A9C Access violation at address 00000009. Write of address 033A672D
São mensagens que as vezes aparecem e as vezes não. Alguem poderia me dar uma explicação melhor sobre isso para que eu possa procurar a solução.
Obrigado :roll:
Marbravo
Post mais votado
19/01/2005
Não entendi o que você quis dizer com ´remover da memória´... tanto faz Action = CaFree no OnClose ou Form.Release já que ambos destroem o form e, consequentemente, liberam a memória associada com o form.
Massuda
Mais Posts
18/01/2005
Bruno_fantin
Para arrumar isso você tem que rever todo o codigo do seu programa para ver o que está fazendo de errado...
Em algum lugar você está matando um objeto e depois está tentando usar ele...
18/01/2005
Massuda
Para facilitar, tente determinar onde o erro está ocorrendo. Para isso:[list:8cae30a2d8][*:8cae30a2d8]marque as opções de debug em Project/Options/Compiler/Debugging[*:8cae30a2d8]dê um build (menu Project/Build) no seu programa[*:8cae30a2d8]inicie a execução do seu programa[*:8cae30a2d8]volte no Delphi[*:8cae30a2d8]no menu Search/Find Error, informe o endereço do erro (por exemplo 004547F9)[/list:u:8cae30a2d8]Com um pouco de sorte, o Delphi irá mostrar a linha problemática.
19/01/2005
Paulo_amorim
Lembrando que o acesso a objetos ainda não criados também dá esse erro. Assim, erros em eventos OnCreate , bem como acesso a objetos que devem ser instanciados em tempo de execução mas não o foram, gerarão esse erro.
Até+
19/01/2005
Marbravo
e agora?
O que fazer?
Com Action := CaFree funciona mas com Freeandnil(Self) da erro...
Solução?
Dicas?
Agradeço desde já
19/01/2005
Marbravo
e agora?
O que fazer?
Com Action := CaFree funciona mas com Freeandnil(Self) da erro...
Solução?
Dicas?
Agradeço desde já
19/01/2005
Paulo_amorim
Ele está tentando se destruir enquanto está dentro de um evento dele mesmo! Simulei aqui e também deu AV
Tente colocar a liberação no Form que chamou esse seu form, e não dentro dele mesmo:
SeuForm := TSeuForm.Create(Self); SeuForm.ShowModal; SeuForm.Free;
Espero que ajude
Até+
19/01/2005
Massuda
19/01/2005
Marbravo
O que não soluciona nada como remover da memoria?
?
Obrigado
19/01/2005
Aroldo Zanela
A forma que está utilizando no OnClose do formulário filho (MDI) está correta, ou seja, Action := caFree. Entretanto, acredito que o problema esteja ocorrendo antes disso e como já mencionado, está ocorrendo em face de tentar utilizar um objeto antes de ser criado ou após ter sido liberado. Pode adicionar um fragmento do código para verificarmos melhor?
19/01/2005
Aroldo Zanela
Agora que li completamente todas as mensagens, acredito que o problema seja no componente de SKIN. Porém, só para ratificar, o uso de caFree no OnClose de formulários MDI está correto.
20/03/2005
Domingosafn
Valeu.
10/07/2018
Amauri Alves
Aproveitando o post gostaria de colocar uma situação que pelo menos para mim é inovadora: Ele está me dando erro de violação de acesso antes de executar qualquer coisa no sistema, coloquei o projeto inteiro para debugar, ele me da este erro antes de qualquer create, antes de executar qualquer linha do projeto e em função disto não consigo ter ideia de onde pode estar este erro, alguém já passou por algo semelhante?
Clique aqui para fazer login e interagir na Comunidade :)