Fermer correcte l'application avec la croix [Résolu]

Messages postés
5
Date d'inscription
mardi 16 décembre 2003
Statut
Membre
Dernière intervention
25 septembre 2004
- - Dernière réponse : cs_rt15
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
- 12 août 2005 à 11:44
une question simple mais que je ne sais pas faire...

Lorsque je quitte mon application par la croix.... le processus reste... donc ma question est simple comment faire pour quitter mon application correctement par la croix ??

merci d'avance

cordialement
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
340
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
7 juillet 2005
3
Merci
bon quand on fait, comme NicoSoftt le dit,

Private Sub Form_Unload(Cancel As Integer)
     End
End Sub

et bien ca va complètement stopper le programme, que ce dernier soit fermé par la croix ou par déchargement parovoqué par un autre programme (fermeture de Windows par exemple)

Si tu veux différencier la déchargement par la croix du déchargement par un autre programme, tu utiliseras

Private Sub QueryUnload(Cancel As Integer, UnloadMode As Integer)

If UnloadMode = 0 Then 'si c'est la croix,  (0 pour la croix, 1 pour les déchargement par autre programme
     End 'ben on ferme
Else 'si on a pas appuyé sur la croix, 
     Cancel = 1 'on stoppe le déchargement
End If


bon on peut bien sûr écrire tout sur un ligne mais j'avais besion de place pour les commentaires. J'espère que ca éclaire bien ta lanterne, Nakano78.

@+

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 110 internautes nous ont dit merci ce mois-ci

Messages postés
77
Date d'inscription
samedi 28 décembre 2002
Statut
Membre
Dernière intervention
20 juillet 2005
0
Merci
Ca veux dire que ton Application a encore des form chargée (fait un unload à chaque fois que tu en ferme une.

Sinon sur l'evt Form_Unload force cancel = 0 et si ca fonctionne toujours pas mets End (Après compilation ca fait planter l'application de mettre un End sur le form_unload alors test bien sur ton exe compilé).
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
21
0
Merci
Pour forcer la fermeture de toutes les forms :
Dim F as Form
For each F in Forms
If f.Name <> me.Name then unload f
Next

Place ce code dans l'evt query_unload de ta form principale.
Si tu as des forms secondaire qui sont toujorus en memoire, cela va les décharger.

Christophe R.
Messages postés
5
Date d'inscription
mardi 16 décembre 2003
Statut
Membre
Dernière intervention
25 septembre 2004
0
Merci
cela ne fonctionne pas

Pourriez vous me dire le nom de la fonction ou la procedure qui correspond a la croix pour fermer une application...

Ou le nom dans vb qui correspond a la croix...
Messages postés
106
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
28 octobre 2005
0
Merci
Salut nakano78

Pour fermer une forme c'est en VB

Unload NomForm
ou
Unload Me (si t'est dans la form)

Pour arreter tous les processus

il faut ajouter End à la fin de Form_Unload(Cancel As Integer)

J'esper que c'est ca que tu cherches

N$
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
21
0
Merci
nakano78 < Qu'est-ce qui ne fonctionne aps dasn le code que je t'ai donné ? un msg d'erreur ? sur quel ligne ? Quel résultat ?

Nicosoftt < Y a pas plus "bourrin" (excuses-moi pour le terme) que de mettre un "End" pour finir un programme en VB !! Et de plus c'est parfois d'une inéfficacité terrible : Le roi de la fuite mémoire en VB c'est ........ "END" ! Pour une isntruction qui est censé tout fermé, c'est un comble non ! Il vaut bien mieux prendre soin de tout fermer par soi-même plutôt que d'utiliser ce END de M . . . E

Christophe R.
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
12
0
Merci
crenaud76,

Tout fermer par soi même, ça veut dire juste les forms ?

Il faut décharger les dll aussi ?

(set ... = nothing)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.