Athalus
Messages postés131Date d'inscriptionjeudi 17 juin 2004StatutMembreDernière intervention 7 juillet 2005
-
6 oct. 2004 à 14:12
Athalus
Messages postés131Date d'inscriptionjeudi 17 juin 2004StatutMembreDernière intervention 7 juillet 2005
-
7 oct. 2004 à 16:45
J'ai une winform dans laquelle j'utilise un tableau de tableau et lorsque je ferme cette form l'espace utilisé en memoire par les tableaux ne se libere pas. quelqu'un aurait il une idée?
Athalus
Messages postés131Date d'inscriptionjeudi 17 juin 2004StatutMembreDernière intervention 7 juillet 2005 7 oct. 2004 à 16:37
Avec la mise à "null" de tous mes tableaux plus le forcage du garbage colector j'arrive à liberer une bonne partie de l'espace mémoire utilisé c'est déjà ca.
Athalus
Messages postés131Date d'inscriptionjeudi 17 juin 2004StatutMembreDernière intervention 7 juillet 2005 6 oct. 2004 à 17:55
Bonjour,
Et bien en fait je n'est pas acces à cette methode :/
Voici ma déclaration de tableau :
private System.Drawing.PointF[][] tTabTab = new PointF[14][];
ceci est déclaré dans ma winform nomée Graphique.
j'ai bien essayé tTabTab = null mais c'est pareil.
Et j'aussi testé ca inséré dans : protected override void Dispose( bool disposing )
for (int i = 0; i < tTabTab.Length; i++)
{
tTabTab[i] = null;
}
tTabTab =null;
mais rien ne marche.
C'est une winform ( Graphique ) que j'appelle d'une autre winform ( Synthese ), j'ai aussi essayé de faire Graphique.Dispose() à parti de la winform ou je la declare mais c'est pareil.
je sais pas si c'est tres clair ...
guigfs
Messages postés34Date d'inscriptionjeudi 13 mars 2003StatutMembreDernière intervention30 mars 2006 6 oct. 2004 à 18:04
Le fait de mettre à nul tout tes éléments revient a vider des cases mais pas à supprimer ces cases.
Or pour vider la mémoire, il faut supprimer ces cases et la solution est normalement d'appeler le destructeur de l'objet (ici tTabTab) à l'aide de la méthode normalement de la methode Dispose() mais je regarde autre chose
Athalus
Messages postés131Date d'inscriptionjeudi 17 juin 2004StatutMembreDernière intervention 7 juillet 2005 7 oct. 2004 à 08:59
Et bien je regarde l'espace mémoire utilisé grace au gestionnaire de taches windows. Et j'ai essayé d'afficher ma form sans les tableaux et la pas de probleme. C'est des tableaux assez gros en fonction de divers parametre rentré ca va de quelques Mo à plusiseurs centaines...
Athalus
Messages postés131Date d'inscriptionjeudi 17 juin 2004StatutMembreDernière intervention 7 juillet 2005 7 oct. 2004 à 12:14
Oui comme tu dis en théorie ;)
Y'a t'il un moyen de forcer le garbage collector à s'executer, j'ai vu que vous parliez d'une "classe GC" j'ai fouillé un peu mais j'ai pas trouvé comment l'utilisé un using peut etre?
Athalus
Messages postés131Date d'inscriptionjeudi 17 juin 2004StatutMembreDernière intervention 7 juillet 2005 7 oct. 2004 à 13:29
Oui j'ai essayé le dispose de ma form ( ajout d'un bouton et Object.Dispose(); dans l'evenement ) mais ca change rien et si je ne me trompe pas quand je quitte ma form en clickant sur la croix le dispose est appellé