Pourquoi quand je ferme mon programme, celui-ci est encore présent dans la liste des tâches ? Comment fermer proprement mon programme ?
Un programme Visual Basic se termine normalement lorsque tous les objets sont
déchargés et qu'il n'y a plus de code à exécuter. Pour terminer correctement
un programme il faut :
- Détruire tous les objets créés en écrivant Set MonObjet = Nothing,
- Décharger tous les formulaires à l'aide de l'instruction Unload,
- Désactiver tous les timers actifs en écrivant Timer.Enabled = False,
ceci afin d'éviter qu'ils n'enclenchent encore un évènement après la
fermeture du formulaire conteneur.
Et pour être sûr de décharger totalement la mémoire, les paranos peuvent
aussi :
- Vider les variables "String" en écrivant varString =
"",
- Vider les variables "Variant" en écrivant varVariant = vbEmpty,
- Détruire les tableaux en écrivant Erase Tableau ou Redim Tableau(0),
Les variables numériques n'ont pas besoin d'être déchargées.
Il ne faut en aucun cas utiliser l'instruction "End" car elle force
l'arrêt du programme sans passer par les événements "Unload",
"Query_Unload" et "Terminate" des feuilles et des modules de
classe. De plus, elle ne détruit pas toujours les objets. Cette instruction
peut être à la limite employée dans une routine de gestion d'erreurs lors
d'erreurs graves. |