OVH Cloud OVH Cloud

probleme stop

4 réponses
Avatar
Titeuf
g un timer
et dans ce timer je change toute les 10 secondes de fond d'écran
sa tourne pas de problème
mais pendant ce temps la dans mon programme si j'ouvre une boite de dialogue
ouvrir/fermer/quelquonque, est bien sa me bloque le timer
et pourtant quand je ferme la boite de dialogue les secondes se sont bien
écoulées et ca aurait du changer mon fond d'écran mais ca ne la pas fait à
cause de l'ouverture d'une boite de dialogue.

y a-t-il un moyen d'empecher le blocage du code qui est dans le timer quand
celui-ci tourne à l'ouverture d'une boite de dialogue ?

merci

4 réponses

Avatar
Titeuf
désolé du dérangement
problème résolu

au début du timer je fait un test pour comparer de cette facon
c'est la seule méthode que j'ai trouvée mais elle marche
comme ca quand la boite de dialogue ou un messagbox se ferme l'execution du
code dans le timer reprend et la je fait ce test

'test si daOut est < à now (pb de non execution du code pendant l'affichage
d'un messagbox ou d'une boite de dialogue)
If DateDiff("s", Now, daOut) < 0 Then
daOut = DateAdd("s", 5, Now) 'pour de daOut soit > à now
End If
Avatar
François Picalausa
Hello!

une autre méthode pour exécuter des procédures asynchrones est d'avoir une
activeX Exe (qui sera donc out of process).
On pourrait aussi imaginer ne plus utiliser de form modale (donc, il
faudrait recoder les messagebox dans une form)

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Titeuf" a écrit dans le message de
news:c6eont$rep$
désolé du dérangement
problème résolu

au début du timer je fait un test pour comparer de cette facon
c'est la seule méthode que j'ai trouvée mais elle marche
comme ca quand la boite de dialogue ou un messagbox se ferme
l'execution du code dans le timer reprend et la je fait ce test

'test si daOut est < à now (pb de non execution du code pendant
l'affichage d'un messagbox ou d'une boite de dialogue)
If DateDiff("s", Now, daOut) < 0 Then
daOut = DateAdd("s", 5, Now) 'pour de daOut soit > à now
End If


Avatar
ng
Salut,

Sinon tu remarqueras que les boites modales bloquent l'exécution du
programme dans l'ide seulement. Ce problème n'est pas présent lors de
l'exécution de la version compilée.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

Titeuf a écrit :

g un timer
et dans ce timer je change toute les 10 secondes de fond d'écran
sa tourne pas de problème
mais pendant ce temps la dans mon programme si j'ouvre une boite de
dialogue ouvrir/fermer/quelquonque, est bien sa me bloque le timer
et pourtant quand je ferme la boite de dialogue les secondes se sont
bien écoulées et ca aurait du changer mon fond d'écran mais ca ne la
pas fait à cause de l'ouverture d'une boite de dialogue.

y a-t-il un moyen d'empecher le blocage du code qui est dans le timer
quand celui-ci tourne à l'ouverture d'une boite de dialogue ?

merci


Avatar
François Picalausa
Hello!

Ca me fait penser que dans un usercontrol, même dans l'IDE, ça ne bloque pas
l'exécution.. ce serait une autre solution s'il faut tester dans l'IDE?

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"ng" a écrit dans le message de
news:%
Sinon tu remarqueras que les boites modales bloquent l'exécution du
programme dans l'ide seulement. Ce problème n'est pas présent lors de
l'exécution de la version compilée.

et dans ce timer je change toute les 10 secondes de fond d'écran
sa tourne pas de problème
mais pendant ce temps la dans mon programme si j'ouvre une boite de
dialogue ouvrir/fermer/quelquonque, est bien sa me bloque le timer
et pourtant quand je ferme la boite de dialogue les secondes se sont
bien écoulées et ca aurait du changer mon fond d'écran mais ca ne la
pas fait à cause de l'ouverture d'une boite de dialogue.