GARANTIR DESCONTO

Fórum EAccessViolation #188108

12/10/2003

0

É o seguinte: fiz um browser que salvava no registro do windows dados como a página principal escolhida. Mas acabou aparecendo uma mensagem de erro com esse nome aí de cima. Tirei as linhas que gravavam os dados no registro mas o erro continuou aparecendo sempre quando o browser era fechado. O que eu faço pra acabar com essa mensagem chata ?

PS: o programa criava uma chave no registro para salvar os dados. Ele não utilizava as chaves do IE.


Glaubergs

Glaubergs

Responder

Posts

12/10/2003

Alex.costa

Glauber,

EAccessviolation é um erro gerado quando um programa tenta acessar memória alocada para um objeto que não mais existe.
Por exemplo, se eu tenho o código

Objeto = TObject.Create;
Objeto.QualquerMetodo;
Objeto.Free;
Objeto.QualquerPropriedade := Valor; // nesta linha o Delphi vai me retornar um access violation ja que eu ja destrui o Objeto.

Então, verifique no seu programa se não existe nenhuma referencia no fim do programa a um objeto que ja tenha sido destruido.

Espero ter ajudado


Responder

Gostei + 0

12/10/2003

Beppe

Objeto = TObject.Create; Objeto.QualquerMetodo; Objeto.Free; Objeto.QualquerPropriedade := Valor; // nesta linha o Delphi vai me retornar um access violation ja que eu ja destrui o Objeto.


Dificilmente o erro ocorrerá nesta linha, pq AV geralmente eh retardado...
AVs tb acontecem quando sequer o obj foi criado:
var
  S: TStream;
begin
  S.Seek(0, soFromEnd);
...


Ataliba


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar