Libérer la mémoire associer à un formulaire

Fermé
vincent1664 - 18 oct. 2007 à 21:37
 Manu123 - 7 juil. 2009 à 08:44
Bonjour,

Voilà pour faire simple j'ai un programme (application windows) qui effectue des recherche à partir
d'un formulaire. Lorsque la recherche trouve des données, j'utilise alors une boite
de dialogue
pour les afficher les une après les autres (avec une boucle for / next).
Précision, je programme sous visual basic 2005 express.

Lorsque la recherche de mon formulaire est fructueuse alors j'alloue chaque
champs à une valeur (ex: "Dialog1.Label4.Text = personne(j).nom")
J'affiche aussi une photo (ex: "Dialog1.PictureBox1.ImageLocation = personne(j).photo")
ensuite j'utilise la propriété showdialog.

Le problème que je rencontre est lorsque j'affiche un résultat, la mémoire de l'application augmente
et lorsque je ferme la boite de dialogue ("me.close()") la mémoire reste identique.
En clair au plus j'ai de résultats, au plus il faut de mémoire.

Je plenche depuis un bon moment, j'ai éssayer d'effacer le contenu de tous les champs avant de fermer.
j'ai aussi essayer le code ("me.dispose()"), toujours pareil.

Si quelqu'un peu me donner des pistes je suis très intéressé !!!
Merci d'avance

2 réponses

vincent1664
19 oct. 2007 à 19:37
Personne ne peut m'aider ???

EN attendant j'ai essayer en utilisant un formulaire plutot qu'une boite de dialogue,
le résultat est identique. Je n'arrive pas à réduire la mémoire utilisé par l'application.
A chaque nouvel affichage du formulaire, la mémoire augmente.

Je me demande, si l'on ne êus pas utiliser un processus par formulaire, ce qui permettrai
de vider la mémoire. Sauf qu'il faut que je puisse envoyer les données de l'un à l'autre.

Il y a bien un bon programmateur sous VB 2005.

Parce que je me suis intéressé à mes autre programmes et se problème est partout.
La mémoire ne se réduit pas tant que je ne quitte l'application et la relance.
Mais ceci ne marche pas dans mon cas présent, je ne veux pas relancer l'application à chaque
recherche.
0
Salut

essai ça

Global.System.Windows.Forms.Application.Exit()
A+
0