-
-
Notifications
You must be signed in to change notification settings - Fork 43
Memory Leak no Indy Lazarus
Home > Problemas Resolvidos > Memory leak no indy lazarus
No Lazarus, após fechar uma aplicação que utiliza o Indy, ocorrem memory leaks da IdStack e IdThread (normalmente).
A solução para esse problema foi extraída de uma publicação no fórum oficial do Lazarus e traduzida abaixo: https://forum.lazarus.freepascal.org/index.php/topic,14556.msg77086.html#msg77086
Olá a todos,
Identifiquei que o Indy 10 tem memory leaks já a algum tempo e imaginei como eliminá-los. Recentemente Remy Lebeau me disse que os memory leaks são deliberados mas que ao definir FREE_ON_FINAL e recompilar o Indy resolveria o problema.
Estes foram os passos que tomei:
a) Abrir o IdCompilerDefines.inc
b) Definir a diretiva FREE_ON_FINAL no arquivo como mostrado abaixo:
Antes:
// $DEFINE the following if the global objects in the IdStack and IdThread // units should be freed on finalization {.$DEFINE FREE_ON_FINAL} {$UNDEF FREE_ON_FINAL}Depois:
// $DEFINE the following if the global objects in the IdStack and IdThread // units should be freed on finalization {$DEFINE FREE_ON_FINAL} {.$UNDEF FREE_ON_FINAL}c) Recompile e reinstale Indy 10
Agora me sinto melhor, não gosto de pontas soltas :D Espero que mais alguém ache isso útil.