ReportMemoryLeaksOnShutdown onde achar o erro?

Delphi

05/05/2020

Estou tentando achar onde está o erro apontado pelo comando "ReportMemoryLeaksOnShutdown".
Logo depois de fechar o programa ele retorna a seguinte mensagem:
---------------------------
Unexpected Memory Leak
---------------------------
An unexpected memory leak has occurred. The unexpected small block leaks are:
1 - 12 bytes: Unknown x 1
---------------------------
OK
---------------------------


Queria saber como faço para saber onde está esse erro?
Eduardo Silva

Eduardo Silva

Curtidas 0

Melhor post

Guilherme Wiethaus

Guilherme Wiethaus

08/05/2020

Se a sua aplicação é muito grande e tem vários forms para abrir por um menu. Faça por partes abra um e feche e depois encerre a aplicação. Onde der este erro saberá onde está. é uma técnica para isolar e restringir o local do problema.

Verifique se está instanciando uma classe e não está fechando ele no final do uso através de um bloco try finally ou except.
Geralmente quando ocorre exceção e não fica sabendo que ocorreu o objeto não é liberado dentro da exceção e ao fechar a aplicação o objeto ainda estará lá.

Se isolou e descobriu em qual for ocorre o vazamento, marque pontos de depuração no bloco except e acompanhe.

Se estiver usando ponteiros de referência a memória que previamente foi alocado.

E a pior hipótese é se está usando componente de terceiro e estes são mau projetados. O próprio desenvolvedor do componente que tem alguma instância de objeto alocado por outro pode ter esquecido de desalocar ele. Muito antigamente eu me deparei com este problema em um componente de Delphi 2007.

Se usa interface este problema não ocorre. A não ser que seja mau projetado.
GOSTEI 1
POSTAR