Programme en vb6 [gestion mémoire]
Fermé
progg
Messages postés
166
Date d'inscription
mardi 13 juillet 2004
Statut
Contributeur
Dernière intervention
3 février 2007
-
11 sept. 2005 à 19:36
Blaise - 19 janv. 2007 à 11:58
Blaise - 19 janv. 2007 à 11:58
A voir également:
- Programme en vb6 [gestion mémoire]
- Programme demarrage windows 10 - Guide
- Vb6 - Télécharger - Divers Utilitaires
- Logiciel gestion photos - Guide
- Programme démarrage windows 10 - Guide
- Mémoire virtuelle - Guide
3 réponses
Vb est événementiel. Pour pouvoir arrêter, via un bouton un traitement il faut que ce dernier laisse la main à l'événment click du bouton (de même que pour l'événment Timer). Une instruction "DoEvents" permet de laisser la main au prochain évenement enattent. Si il n'y aplus d'évenment le traitement continue.
Généralement, pour arreter un traitement par un bouton Cancel, il faut décalrer une variable booleenne au niveau global (vissible par le bouton et par le traitement) gbCancel. L'initialiser au début du traitement gbCancel = false. Dans la boucle de trairtement, il faut ajouter des
call DovEvents
if (gbCancel ) then
' Sortir du traitement proprement
' fermeture des recordset ...
' déallocation des tableaux dynamiques ...
MsgBox "Traitement annulé!!!"
Exit sub
end
Dans leclic du bouton cancel, il faut simplement faire
gbCancel = true
Attention!!! DoEvents donne la main eu premier événement en attente (comme par exemple la fermeture de la fenêtre, le bouton de lancement du traitement). Il est important de ne pas pouvoir lancer deux fois le traitement. Donc il faut au debut du traitement rendre non disponible toutes les actions non souhaitable pendant celui-ci et les rendrres de nouveau disponible à la fin.
Généralement, pour arreter un traitement par un bouton Cancel, il faut décalrer une variable booleenne au niveau global (vissible par le bouton et par le traitement) gbCancel. L'initialiser au début du traitement gbCancel = false. Dans la boucle de trairtement, il faut ajouter des
call DovEvents
if (gbCancel ) then
' Sortir du traitement proprement
' fermeture des recordset ...
' déallocation des tableaux dynamiques ...
MsgBox "Traitement annulé!!!"
Exit sub
end
Dans leclic du bouton cancel, il faut simplement faire
gbCancel = true
Attention!!! DoEvents donne la main eu premier événement en attente (comme par exemple la fermeture de la fenêtre, le bouton de lancement du traitement). Il est important de ne pas pouvoir lancer deux fois le traitement. Donc il faut au debut du traitement rendre non disponible toutes les actions non souhaitable pendant celui-ci et les rendrres de nouveau disponible à la fin.