Restants...

Brosske Messages postés 98 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 12 août 2010 - 25 sept. 2007 à 14:48
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 - 25 sept. 2007 à 17:02
Bonjour,

Dans un projet assez lourd (qui est en modification permanente) l'application ne se ferme pas "clean". Je m'explique : quand je ferme la dernière fenêtre le fichier EXE reste dans la mémoire. Il doit donc y avoir encore une fenêtre actif dans la mémoire en arrière plan.

Pas moyen de trouver lequel !

Comment je peux m'y prendre ??

F.M.

7 réponses

nah666 Messages postés 75 Date d'inscription samedi 30 août 2003 Statut Membre Dernière intervention 7 janvier 2008 1
25 sept. 2007 à 15:34
Essaie de surveiller tes process avec "process explorer"
0
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
25 sept. 2007 à 15:40
Dim F As Form

For Each F In Forms
unload F
Next

Avec ca, tu es sur que toutes les fenêtres seront fermée
Si ce code est dans le code d'une forme (la forme principale) ajouté un test dans la boucle For Each ... Next

If F.Name <> Me.Name Then Unload F

Puis faire un Unload Me, après le Next
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
25 sept. 2007 à 15:49
Cela n'est pas forcément dû à une form. Ce peut-etre aussi un objet instancié (par l'instruction Set) qui n'est désinstancié corectement et donc qui reste en mémoire. Ce peut-etre aussi un timer mal arreté qui continue à tourner et donc maintient le code en mémoire, ce peut-etre aussi une boucle qui ne se termine pas.

Bref les causes peuvent etre diverses.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
Brosske Messages postés 98 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 12 août 2010 1
25 sept. 2007 à 16:41
nah666
: le projet reste dans les process :) si non je reviendrais clean dans VB6 quand je quitte le form principale
Kristof_Koder : que ni ni - ça ne fonctionne pas
casy : héhé, ça ne m'avance pas trop - admettons que c'est un objet qui reste dans la mémoire, comment le retrouver ??

Encore un astuce :

Le soucis à fais surface quand j'ai remplacé un MSFlexgrid par un MSHFlexgrid.
MAIS : si je lance le form et je le quitte tout se passe bien - aucun soucis
Dès que je modifie quelque chose dans le grid (donc faire apparaitre un simple textbox à la place de la case en cours , valider l'entrée puis le recopier dans la celulle) le projet n'arrive plus a se terminer correctement.
Le flexgrid n'est pas lié à une base de données ;) je l'utilise dans sa fonction la plus basique.

:( AU SECOURS

F.M.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
25 sept. 2007 à 16:55
Donc pas une forme qui reste chargé si ma boucle ne résoud pas le pb.
Ton diagnostic sur le MSHFexgrid semble bon. As-tu fouillé sur google à ce sujet ?
0
Brosske Messages postés 98 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 12 août 2010 1
25 sept. 2007 à 16:58
yes, mais rien à ce propos..... (enfin , bcp sur le grid, mais pas sur mon problème)

F.M.
0
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
25 sept. 2007 à 17:02
Autre piste de recherche :
Crée un nouveau projet.
Ajoute simplement une MSHFlexgrid dedans et la partie de code que tu crois responsable.
Tu verras bien si tu reproduit le problème. Et il te sera alors plus simple de chercher une solution sur un petit projet à la con avec juste le code responsable du bug à traiter
0
Rejoignez-nous