Como corrigir a violação de acesso no endereço Delphi error no Windows 10 [Passos]

O que é ‘Violação de acesso no endereço Delphi error’ no Windows 10?

Neste artigo, vamos discutir sobre como corrigir violação de acesso no erro de endereço, violação de acesso no erro de endereço Delphi no Windows 10/8/7. Você será guiado com etapas/métodos fáceis para resolver o problema. Vamos iniciar a discussão.

‘Delphi’: Delphi é um software que usa o Dialeto Delphi da Linguagem de Programação Object Pascal e fornece um ambiente de desenvolvimento integrado (IDE) para o desenvolvimento rápido de aplicativos de software de desktop, móvel, web e console, atualmente desenvolvido e mantido pela Embarcadero Technologies. O compilador da Delphi gera código nativo para dispositivos baseados em Microsoft Windows, MacOS, iOS, Android e Linux OS.

No entanto, vários usuários do Delphi relataram que enfrentaram ‘Violação de acesso no endereço Delphi error’ ao escrever o programa, testá-lo e enviá-lo para todos os lugares. Este erro indica quando você usa o Delphi em qualquer desenvolvimento de software quando o programa falha ao enviar o programa testado. Você pode considerar compilar seu programa com a instrução de compilação {$ D} – o Delphi pode criar um arquivo de imagem que ajuda a localizar o código-fonte para erros de violação de acesso.

A caixa de diálogo de opções do projeto permite especificar tudo o que você precisa. Para arquivo de unidade, as informações de depuração são registradas no arquivo de unidade junto com o código de objeto da unidade. A violação de acesso no erro de endereço geralmente aparece no meio do seu trabalho no Delphi e faz com que você adie a resolução do problema. Agora, você saberá como encontrar facilmente o caminho exato, o arquivo doe de origem e a linha em que a violação de acesso no erro de endereço ocorre se apenas o endereço conflitante for fornecido como ‘Search-Find Error…’. O erro de violação de acesso no endereço Delphi é exibido da seguinte maneira ou de maneira semelhante.

“Violação de acesso no endereço <valor hex> no módulo <nome do aplicativo> Leitura do endereço <valor hex>”

No Delphi IDE em seu computador Windows, se seu programa estiver em conformidade com as informações de depuração, você poderá localizar a linha de código-fonte que causou o erro. A possível razão por trás do problema pode ser o programa Delphi é o uso de um objeto que não foi criado. Se você habilitar ‘Stop on Delphi Exceptions’ na janela de opções do Debugger, você pode ver uma mensagem dizendo que ocorreu EAccessViolation. A EAccessViolation é a classe de exceção para erros de acesso à memória inválida.

Razão por trás dos erros e como corrigir violação de acesso no endereço Delphi error no Windows PC?

1: Chamar um objeto inexistente

Este problema pode ocorrer devido ao Delphi usar um objeto que não foi criado ou que foi liberado. Você pode corrigir o problema garantindo que todos os objetos acessados ​​sejam criados primeiro. Por exemplo, quando uma Tabela está localizada em um módulo de dados que não foi criado, você pode abrir a tabela no evento OnCreate do formulário. No código a seguir, após chamar um evento que foi excluído, o erro Access Violation at address aparece:

var b:TBitmap;

começar

b:=TBitmap.Criar;

experimentar

//Faça algumas coisas no objeto b Operação

finalmente

b.grátis;

fim;

//Como b foi liberado, um erro de violação de acesso aparecerá

b.Canvas.TextOut (0,0, ‘Esta é uma violação de acesso’);

fim;

2: Parâmetros de API inexistentes

Este erro pode ocorrer se você tentar passar um parâmetro inexistente para a função Win API. Você pode corrigir o problema consultando a ajuda da API do Win para ver as informações de parâmetro e o tipo de parâmetro dessa chamada de função da API.

3: Deixe o Delphi liberar

Quando um objeto possui outro objeto, deixe que ele faça o trabalho de exclusão para você. Quando o aplicativo termina, ele libera o objeto do aplicativo, que libera todos os formulários. Por exemplo, se você criar automaticamente dois formulários no início do programa, o código a seguir causará um erro de violação de acesso no endereço.

unidade Unidade1;

usa unidade2;

procedimento TForm1.Call_Form2

começar

Form2.ShowModal;

Form2.Free;

//Erro de violação de acesso aparecerá

Form2.ShowModal;

fim;

4: Eliminar exceções

Você nunca deve matar objetos de exceção temporários. O tratamento de uma exceção liberará automaticamente o objeto de exceção. Se você liberar manualmente o objeto de exceção, o programa tentará liberá-lo novamente e o erro de violação de acesso no endereço será exibido.

Zero:=0;

experimentar

dummy:= 10/Zero;

exceto

em E: EZeroDivide do

MessageDlg(‘não pode ser feito com 0 Divisor! ‘, MtError, [mbOK], 0);

E.free.////O erro de violação de acesso aparecerá

fim;

5: Recupere uma string vazia

Se você não estiver ciente, uma string vazia não tem dados e se você estiver tentando recuperar uma string vazia, poderá ver o erro de violação de acesso no endereço.

var s: string;

começar

s: = ”;

s[1]: = ‘a’;

//Violação de acesso O erro aparecerá

fim;

6: Consulte diretamente o ponteiro

Você deve se referir ao ponteiro indiretamente, caso contrário você mudará o endereço do ponteiro e muitos destruirão outras unidades de armazenamento.

Conclusão

Tenho certeza de que este post o ajudou em Como corrigir violação de acesso no erro de endereço, Acesso Violação no endereço Delphi error no Windows 10/8/7 com várias etapas/métodos fáceis. Você pode ler e seguir nossas instruções para fazê-lo. Isso é tudo. Para quaisquer sugestões ou dúvidas, por favor escreva na caixa de comentários abaixo.