petiflamand
Messages postés675Date d'inscriptionsamedi 31 mai 2003StatutMembreDernière intervention26 mai 2013
-
5 août 2006 à 21:06
Crash Ov
Messages postés11Date d'inscriptionjeudi 20 octobre 2005StatutMembreDernière intervention 7 juillet 2009
-
28 mai 2009 à 23:34
Bonjour, je voulais savoir si a la place de form.hide il y a pas autre chose pour etre certain que la page est bien fermer au lieu de cacher.
et je voudrais savoir aussi comment faire pour que le programme soit fermer completement toute les form meme si on click sur la croix en haut a droite.
Merci
diablamanshadow
Messages postés419Date d'inscriptionlundi 30 août 2004StatutMembreDernière intervention28 janvier 2008 5 août 2006 à 22:47
unload decharge la frm mais sa reste dans les process si tu veux bien fermer ton prog dans l'evenement unload tu met end sinon si tu veux fermer une de tes form seulement tu lui met unload ^^
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 6 août 2006 à 18:44
diablamanshadow, je ne suis pas d'accord avec toi.
End ne devrait jamais être utilisé. Ça termine le programme mais ça ne
tue pas les process ouverts par le programme. Si on est obligé
d'utiliser END, c'est que le programme n'est pas bien codé.
Pour être certain que les objets sont fermés on peut ajouter
Set Objet = Nothing
Ça peut être le cas dans l'exemple que j'ai donné.
Dim Frm As Form
For each Frm in Forms
Unload frm
Set frm = Nothing
Next
MPi
Vous n’avez pas trouvé la réponse que vous recherchez ?
diablamanshadow
Messages postés419Date d'inscriptionlundi 30 août 2004StatutMembreDernière intervention28 janvier 2008 6 août 2006 à 18:48
mpi je ne suis pas trop d'accord avec toi fais un new projet et sur la form1 mais lui un unload et tu compile tu test et tu verra que ton prog est toujours dans les process ^^
ton code sert simplement a etre sur que toutes les form sont bien dechargee ainsi que ses objet alors que le end est plus simple et plus radicale et au moins tu es sur que tout est fermer :-)
tu dit qu'un prog devant utiliser le end est mal coder mais regarde y a bcp de code l'utilisant sur ce site plutot que ton unload l'unload que tu utilise est pris pour decharger les form secondaire et non terminer le programme
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 7 août 2006 à 11:59
Salut Diablamanshadow,
voici 2 articles que j'ai trouvés qui explique un peu quoique ce ne soit pas très clair...
Je t'ai aussi mis un exemple simple à recréer plus bas.
http://www.mvps.org/vbvision/visual_basic_tips.htm The VB End statement The VB End statement should not be used because it doesn't allow any
"clean up" code to run in your application. The correct
method for ending an application is to unload all forms, disabling any active
timer controls before unloading the parent form as well as setting any
references to forms or classes equal to the VB keyword Nothing. Once
all object references are destroyed, your application should end on it's own.
Si votre application a certains formulaires ouverts, vous devez les fermer avant d'exécuter End .
Voici l'exemple.
Une Form, un bouton et une référence à Excel... et un "classeur1.xls" dans C:\
Si tu démarres et que tu cliques le bouton, il restera un
processus Excel toujours ouvert. Si tu refais une autre fois, il
y aura un 2e processus Excel, etc...
Bien sûr, VB s'est bien terminé mais pour le reste ? et qu'est-ce qui
prouve que tout se soit bien terminé sous VB ? Est-ce que vraiment
toutes les adresses mémoires sont bien libérées ?
Option Explicit
Private xlApp As Excel.Application
Private xlBook As Excel.Workbook
Private xlSheet As Excel.Worksheet
Private Sub Command1_Click()
End
End Sub
Private Sub Form_Load()
Set xlApp = New Excel.Application
Set xlBook = xlApp.Workbooks.Open("C:\Classeur1.xls")
diablamanshadow
Messages postés419Date d'inscriptionlundi 30 août 2004StatutMembreDernière intervention28 janvier 2008 7 août 2006 à 17:09
quand tu utilise des ressources externe oui mais cependant l petitflamand a pas stipuler ca si ses externe ses sur faut le fermer sinon l'app associer reste ouverte mais si tu n'utilise rien d'externe a ton logiciel je reste sur le fait que end le ferme mieux que unload ^^