Limpar memória. É possível fazer isso?
Olá amigos!
Estou tendo um pequeno grande problema. Tenho um sistema e por diversas vezes entro e saio dele durante o período de trabalho, mas acontece que depois de extamente um certo número de execuções acaba acusando memória insuficiente e tenho que resetar o computador. Pelo que pude perceber deve ficar alguma coisa na memória quando saio do programa e isso vai acumulando a cada execução. Existe alguma forma para que possa limpar estes resíduos que estão em memória? Estou utilizando o Windows98, Delphi5 e Interbase.
Desde já agradeço a todos pela atenção.
Abraços
Estou tendo um pequeno grande problema. Tenho um sistema e por diversas vezes entro e saio dele durante o período de trabalho, mas acontece que depois de extamente um certo número de execuções acaba acusando memória insuficiente e tenho que resetar o computador. Pelo que pude perceber deve ficar alguma coisa na memória quando saio do programa e isso vai acumulando a cada execução. Existe alguma forma para que possa limpar estes resíduos que estão em memória? Estou utilizando o Windows98, Delphi5 e Interbase.
Desde já agradeço a todos pela atenção.
Abraços
Carlos Alberto
Curtidas 0
Respostas
Aroldo Zanela
27/02/2003
Você está liberando os formuláros com Form.Free ou Action = caFree no evento OnClose?
GOSTEI 0
Carlos Alberto
27/02/2003
[quote:67d2796894=´Aroldo Zanela´]Você está liberando os formuláros com Form.Free ou Action = caFree no evento OnClose?[/quote:67d2796894]
Estou utilizando o Form.Free no onClose. Faz alguma diferença entre um e outro?
Estou utilizando o Form.Free no onClose. Faz alguma diferença entre um e outro?
GOSTEI 0
Zoom
27/02/2003
O problema é no windows e não no seu sistema. É que o windows acaba acumulando na memória aquilo que foi uma vez alocado. Existem programas que liberam a memória da máquina : memorycleaner e o excelente rambooster, este eu conheço bem e funciona. Vc deve achar no superdownloads.
GOSTEI 0
Hugobarros
27/02/2003
Geralmente este erro ocorre quando eu depuro o programa e por qq razão ´reseto´ ele através do ctrl+F2, neste caso a conexão com o banco fica aberta e depois de 4 ou 5 execuções recebo a mensagem.
Seguindo esta idéia, verifique se por acaso, por esquecimento, você não está fechando a conexão com o banco.
[]´s
Hugo
Seguindo esta idéia, verifique se por acaso, por esquecimento, você não está fechando a conexão com o banco.
[]´s
Hugo
GOSTEI 0
Aroldo Zanela
27/02/2003
Artigo: Liberar Form da Memória
Autor: Julio Graciel
---
Quando você usa Form.Free ou Form.Destroy, você está imediatamento solicitando a
destruição do formulário. Com Form.Release, todas as mensagens pendentes no pool do
formulário são postadas - exemplo: redesenho do formulário, movimento do mouse, pressionamento de tecla,...
use assim:
Autor: Julio Graciel
---
Quando você usa Form.Free ou Form.Destroy, você está imediatamento solicitando a
destruição do formulário. Com Form.Release, todas as mensagens pendentes no pool do
formulário são postadas - exemplo: redesenho do formulário, movimento do mouse, pressionamento de tecla,...
use assim:
FormXX := TFormXX.create ( application ); try FormXX.ShowModal finally FormXX.Release; FormXX := nil; end;
GOSTEI 0