Ir para conteúdo
  • Cadastre-se

dev botao

Não Desaloca Memória Ao Enviar Dacte Via E-Mail


GustavoKato
Ver Solução Respondido por GustavoKato,
  • Este tópico foi criado há 3804 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia pessoal.

Desenvolvi um serviço para transmissão e autorização de CT-es no qual utilizo também a rotina de enviar os DACTEs via e-mail e notei que o consumo de memória está subindo demasiadamente visto que a intenção é funcionar 24/7. Notei que provavelmente é a rotina de gerar o PDF (utilizo QuickReport) que deve estar mantendo sujeira na memória. Rastreei mas só encontrei alguns objetos/referencias utilizando apenas "Free" ao invés de "FreeandNil" porém não acredito que seja motivo para aumentar tanto o consumo.

 

Alguma sugestão?

 

Valeu!

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...
  • 2 meses depois ...

Bom dia, GustavoKato.

 

Não sei se você já conseguiu uma solução para o problema mencionado, mas eu estava passando por algo parecido: eu tenho uma aplicação que verifica o status de NFe's e CTe's de tempos em tempos.

Eu notei que minha aplicação estava consumindo muita memória, mesmo eu liberando todos os componentes criados em runtime.

Após algumas pesquisas, achei uma dica que resolveu o meu problema e talvez sirva para vc. Segue o procedimento:

 
procedure TrimAppMemorySize;
var
  MainHandle : THandle;
begin
  try
    MainHandle := OpenProcess(PROCESS_ALL_ACCESS, false, GetCurrentProcessID) ;
    SetProcessWorkingSetSize(MainHandle, $FFFFFFFF, $FFFFFFFF) ;
    CloseHandle(MainHandle) ;
  except
  end;
  Application.ProcessMessages;
end;
 
Eu passei a chamar esse procedimento após minhas consultas e a alocação de memória diminui drasticamente.
 
Espero ter ajudado.
Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
  • Este tópico foi criado há 3804 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.