Pause dans un programme vb6 [Résolu]

Messages postés
96
Date d'inscription
mardi 18 août 2009
Dernière intervention
14 août 2013
- 23 févr. 2011 à 15:00 - Dernière réponse :
Messages postés
96
Date d'inscription
mardi 18 août 2009
Dernière intervention
14 août 2013
- 23 févr. 2011 à 16:08
Bonjour,
Je viens d'écrire un bout de code qui permet de faire une pause dont que un autre code n'a pas fini sont travail.
Mais le problème les ressources de la mémoire sont trop utilisées.
Voila le bouton de code si vous pouvez m'aider

je vous promets que j'ai cherche dans le forum, mais rien trouver

Merci d'avance

Public Sub Sleepy(Do_Events As Boolean)
Do
If Second(Time) = 50 Then Exit Sub 'ceci est juste un exemple
If Do_Events = True Then DoEvents
Loop
End Sub

Private Sub Command1_Click()
Me.Caption = "Debut"
Sleepy True
Me.Caption = "Suite"
End Sub
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
553
Date d'inscription
jeudi 12 octobre 2006
Dernière intervention
6 juin 2015
- 23 févr. 2011 à 16:01
1
Merci
C'est pas bon de stopper l'exécution d'un prog; développe ton projet.

Sinon j'ai pas de code sous la main, alors...
- Evite le threading sous vb6
- Regarde les APIs: OpenProcess & WaitForSingleObject
- Regarde cette API ne fait pas ramer ton prog: Sleep

Sinon sur le site suivant y a un bon Waiteur vb6 à personnaliser:
http://smsoft.ru/en/vbwait.htm

Merci Duke49 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de Duke49
Messages postés
553
Date d'inscription
jeudi 12 octobre 2006
Dernière intervention
6 juin 2015
- 23 févr. 2011 à 15:10
0
Merci
Public Sub SleepEx(ByVal lInterval As Double)
    Dim lTimeNow As Double, lTimeEnd As Double
    lTimeNow = Timer
    lTimeEnd = lTimeNow + lInterval
    Do While Timer < lTimeEnd
        DoEvents
    Loop
End Sub
Commenter la réponse de Duke49
Messages postés
96
Date d'inscription
mardi 18 août 2009
Dernière intervention
14 août 2013
- 23 févr. 2011 à 15:22
0
Merci
Merci a toi Duke49, mais je ne cherche pas une fonction sleep, mais plutôt une fonction qui

1) Ne bloque pas le programme
2) Attend en temps réels la fin du code pour poursuivre...

Comme l'exemple que j'ai donné plus haut
en faite c'est un problème avec do loop qui bouffe trop de mémoire.

Ce code est juste un exemple, car on peut placer autre chose
If Second(Time) = 50 Then Exit Sub 'ceci est juste un exemple
Commenter la réponse de cs_didine13
Messages postés
96
Date d'inscription
mardi 18 août 2009
Dernière intervention
14 août 2013
- 23 févr. 2011 à 15:44
0
Merci
trop de mémoire

Processeur erreur de ma part
Commenter la réponse de cs_didine13
Messages postés
96
Date d'inscription
mardi 18 août 2009
Dernière intervention
14 août 2013
- 23 févr. 2011 à 15:54
0
Merci
bizarre j'ai rajouter sleep 10 le processeur ne bouge plus ca laire de bien fonctionner, mais j'attend vos sucgestion



Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Public Sub Sleepy(Do_Events As Boolean)
Do
Sleep 10
If Second(Time) = 50 Then Exit Sub 'ceci est juste un exemple
If Do_Events = True Then DoEvents
Loop
End Sub

Private Sub Command1_Click()
Me.Caption = "Debut"
Sleepy True
Me.Caption = "Suite"
End Sub
Commenter la réponse de cs_didine13
Messages postés
96
Date d'inscription
mardi 18 août 2009
Dernière intervention
14 août 2013
- 23 févr. 2011 à 16:08
0
Merci
Sinon sur le site suivant y a un bon Waiteur vb6 à personnaliser:
http://smsoft.ru/en/vbwait.htm


Très bonne source Merci je vais voir tous ça.
Commenter la réponse de cs_didine13

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.