Como liberar memoria após imprimir relatório com rave report
Olá pessoal
sou novato por aqui, e estou usando o rave report para gerar um relátorio com fotos, ocorre que após gerar um relatorio ocupa uns 150 MB da memoria. Após fechar o relatorio ou o formulário a memoria continua sendo ocupada. Então tentei abrir várias vezes até que consumiu toda memoria e não conseguiu mais gerar o relatorio.
Quando fecho o form onde estão os componentes raveProject continua ocupando a mesma quantidade de memória, e eu chamo o formulário assim:
with TfrmRelPescados.Create(nil) do
begin
ShowModal;
Free;
end;
Vi em outras perguntas que se usar o metodos form.release daria certo. Pensei em tentar destruir o ibQuery após fechar o form. Mas nada mudou.
A memoria só é liberada fechando-se toda a aplicação.
agradeço se alguem puder me ajudar
sou novato por aqui, e estou usando o rave report para gerar um relátorio com fotos, ocorre que após gerar um relatorio ocupa uns 150 MB da memoria. Após fechar o relatorio ou o formulário a memoria continua sendo ocupada. Então tentei abrir várias vezes até que consumiu toda memoria e não conseguiu mais gerar o relatorio.
Quando fecho o form onde estão os componentes raveProject continua ocupando a mesma quantidade de memória, e eu chamo o formulário assim:
with TfrmRelPescados.Create(nil) do
begin
ShowModal;
Free;
end;
Vi em outras perguntas que se usar o metodos form.release daria certo. Pensei em tentar destruir o ibQuery após fechar o form. Mas nada mudou.
A memoria só é liberada fechando-se toda a aplicação.
agradeço se alguem puder me ajudar
Gunnar
Curtidas 0
Melhor post
Psyjacko
26/04/2008
tente assim :
flw
try application.CreateForm(TfrmRelPescados,frmRelPescados); frmRelPescados.ShowModal; finally frmRelPescados.Release; //ou Free , dá no mesmo eu acho end;
flw
GOSTEI 1
Mais Respostas
Edjborges
26/04/2008
Caro amigo, não sei se já resolveu seu problema, eu uso o Rave há um bom tempo, no início gerava os relatório na memória, mas em relatórios grandes, além da geração ser lenta, ainda tem o problema de ficar sujeira na memória e vire e mexe dar out of memory. Passei a gerar os relatórios em arquivos temporários, além de resolver o problema da memória, a geração de grandes relatórios com mais de 40 a 50 páginas, ficou bem mais rápida.
Para gerar seus relatórios em arquivo temporário, faça o seguinte:
No componente RVSystem, no agrupamento SystemFiler, altere a opção StreamMode para: smTempFile
Melhorou muito a performance de meus relatórios depois que passei a utilizar esta opção.
Um Abraço
Para gerar seus relatórios em arquivo temporário, faça o seguinte:
No componente RVSystem, no agrupamento SystemFiler, altere a opção StreamMode para: smTempFile
Melhorou muito a performance de meus relatórios depois que passei a utilizar esta opção.
Um Abraço
GOSTEI 0
Adiel França
26/04/2008
Caro amigo, não sei se já resolveu seu problema, eu uso o Rave há um bom tempo, no início gerava os relatório na memória, mas em relatórios grandes, além da geração ser lenta, ainda tem o problema de ficar sujeira na memória e vire e mexe dar out of memory. Passei a gerar os relatórios em arquivos temporários, além de resolver o problema da memória, a geração de grandes relatórios com mais de 40 a 50 páginas, ficou bem mais rápida.
Para gerar seus relatórios em arquivo temporário, faça o seguinte:
No componente RVSystem, no agrupamento SystemFiler, altere a opção StreamMode para: smTempFile
Melhorou muito a performance de meus relatórios depois que passei a utilizar esta opção.
Um Abraço
Para gerar seus relatórios em arquivo temporário, faça o seguinte:
No componente RVSystem, no agrupamento SystemFiler, altere a opção StreamMode para: smTempFile
Melhorou muito a performance de meus relatórios depois que passei a utilizar esta opção.
Um Abraço
Cara, eu estava com esse erro de "out of memmory while expanding memory stream" e sua resposta me ajudou muito vlw
GOSTEI 0