cs_cyriloo
Messages postés60Date d'inscriptiondimanche 20 novembre 2005StatutMembreDernière intervention12 septembre 2007
-
19 juil. 2007 à 16:31
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 2014
-
23 juil. 2007 à 13:19
Salut!
Alors voici mon problème...
Lorsque je souhaite fermer mon prog ( Appui sur la croix ou Menu-Quitter) , il se ferme très bien sur windows 2000. Mais lorsque je suis sur XP, le programme ne se ferme pas toujours.J'ai installé VB sur un poste avec un OS en XP pour voir, et c'est très bizard car des fois tout se passe très bien, et d'autre fois lorsque l'on appui pour quitter, le prog ne rentre pas dans la fonction Unload() ou Query_Unload() !
hvb
Messages postés939Date d'inscriptionvendredi 25 octobre 2002StatutMembreDernière intervention27 janvier 20093 19 juil. 2007 à 17:33
Hummm... pour la non-fermeture est tu sur que tu n'as pas un traitement en cours?? (type une boucle while, ou un timer ? )
Pour le Unload() qui ne se déclenche pas, si c'est comme en dotnet, celui ci ne s'effetue seulement si tu ferme la form, si tu passe par ton menu "quitter", dans lequel je pense, tu appele simplement la méthode End, il est tout à fait normal que cet évenement ne se déclenche pas.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 19 juil. 2007 à 18:00
salut,
dans le menu Quitter, il faut Unload Me.
Concernant le End, il n'est à appeler que depuis l'évènement Load de la Form de démarrage de l'application.
Si tu 'sous-classes' (subclassing), pense à rendre le bon attribut avant fermeture avec SetWindowLong
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 19 juil. 2007 à 20:23
"...Concernant le End, il n'est à appeler que ..."
Normalement dans un programme bien conçu, il ne devrait pas etre besoin de l'appeler. l'instruction End provaque un arret brutal de l'application sans aucune précaussion ni avertissement. Il faut donc bien s'assurer avant de l'utiliser que l'application est dans un état "arrêtable". C'est à dire, que toutes les connections, quelque soit le type, soient fermée, que tous les fichiers soient enregistrés et fermés, que tous les objets explicitement créés, soient désactivés et déchargés (détruits).
Si ce n'est pas le cas, il se peut qu'un de ces objets empêche la fermeture.
L'idéal serait aussi d'arreter aussi tous les controles Timer utilisés sur les écrans.