Merci de m'avoir répondu.
j'ai essayé cette solution, je "ferme" tous les TClientDataSet après l'impression, mais ça n'empêche pas les pertes de mémoire.
D'ailleurs, j'ai utilisé le même utilitaire pour vérifier les allocations sur des projets exemple de rave, et il y a le même problème.
C'est dommage qu'on ne puisse pas avoir un petit bout des sources de Rave!
Sinon, pour le bout de code, je fais simplement:
RvProject.ExecuteReport('Etat1');
J'utilise des TClientDataSet créés dès la conception afin de les relier aux DataView dans Rave. Au niveau de Delphi, j'ai un TRvProject, un TRvSystem et des TRvDataSetConnection.
J'ai également essayé un open puis un close sur le projet:
1 2 3
| RvProject.Open;
RVProject.ExecuteReport('Etat1');
RvProject.Close; |
Plus je lance d'impressions et plus les pertes de mémroire sont importantes, on dirait que tous les composants d'une page du rapport sont chargés en mémoire à chaque édition de la page...
Je vais continuer à chercher! Merci
Partager