Bonjour,
Je suis sous Builder C++ XE7
Mon programme donne accès par une liste à des doossiers de données (numériques et alpha).
Si je double clique dans la liste j'ouvre le dossier de données correspondant.
Je stocke une partie des données dans un TStrinGrid en allant les chercher dans une base de données, pour éviter d'aller dans cette base de nombreuses fois lors de leur consultation.
Ensuite intervient le chargement de données (données statistiques sur des corpus textuels dont la taille peut aller à 100Mo).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 StringGrid1 = new TStringGrid(Form1); StringGrid1->Parent = Form1; StringGrid1->Visible = false; StringGrid1->RowCount = 10000; StringGrid1->ColCount= 18;
En mémoire, avant ce chargement le programme occupe 100Mo de Ram, après le chargement on peut passer à 300Mo.
Quand je ferme la fenêtre de consultation, je supprime le tableau :
Or dans la mémoire, la RAM, (les 200Mo supplémentaires) ne se libèrent pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 StringGrid1->Free(); delete StringGrid1; StringGrid1 = NULL;
J'ai déjà utiliser ce type de commande sans il me semble avoir rencontré de problème.
Merci pour toute indication.
Partager