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

nakano78 5 Messages postés mardi 16 décembre 2003Date d'inscription 25 septembre 2004 Dernière intervention - 14 sept. 2004 à 15:18 - Dernière réponse : cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention
- 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
Ze_Dam 340 Messages postés lundi 8 mars 2004Date d'inscription 7 juillet 2005 Dernière intervention - 14 sept. 2004 à 20:28
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.

@+

Merci Ze_Dam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

cs_Esquisse 77 Messages postés samedi 28 décembre 2002Date d'inscription 20 juillet 2005 Dernière intervention - 14 sept. 2004 à 15:44
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é).
crenaud76 4172 Messages postés mercredi 30 juillet 2003Date d'inscription 9 juin 2006 Dernière intervention - 14 sept. 2004 à 15:48
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.
nakano78 5 Messages postés mardi 16 décembre 2003Date d'inscription 25 septembre 2004 Dernière intervention - 14 sept. 2004 à 18:07
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...
NicoSoftt 106 Messages postés lundi 16 décembre 2002Date d'inscription 28 octobre 2005 Dernière intervention - 14 sept. 2004 à 18:13
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$
crenaud76 4172 Messages postés mercredi 30 juillet 2003Date d'inscription 9 juin 2006 Dernière intervention - 14 sept. 2004 à 22:28
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.
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 12 août 2005 à 11:44
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.