Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Timer dans un module/class

4 réponses
Avatar
Michel
Bonjour,


Quelqu'un connaît-il la meilleure façon de placer un timer dans un module ou
une class ? L'objet timer de VB ne pouvant être que placée dans un form...

Un API probablement, mais lequel? Un p'tit exemple peut-être...

Merci d'avance

4 réponses

Avatar
François Picalausa
Bonjour/soir,

Jette un oeil à cette rubrique:
http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/timers/timerreference/timerfunctions/settimer.asp

Pour l'employer, tu auras besoin de l'opérateur AdressOf vers ta procédure
Callback.

Il y a différents exemples sur le net et sur les newsgroups:
http://www.mvps.org/vbnet/code/forms/flashwindowsettimer.htm
http://www.partware.com/ebooks/api/ref/s/settimer.html
http://groups.google.com/groups?selm=uE9IgkO7AHA.1408%40tkmsftngp07
http://groups.google.com/groups?selm=%23gNJtGidDHA.3876%40TK2MSFTNGP11.phx.gbl
...

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com

"Michel" a écrit dans le message de
news:
Bonjour,


Quelqu'un connaît-il la meilleure façon de placer un timer dans un module


ou
une class ? L'objet timer de VB ne pouvant être que placée dans un form...

Un API probablement, mais lequel? Un p'tit exemple peut-être...

Merci d'avance




Avatar
Michel
Merci. Mais j'ai un problème pour insérer ça dans mon projet... VB se plante
franchement. Mais pas de problème, je vais trouver où est le hic.

Pour info, je cherche ça car j'ai un module qui contient des Sub dont le
seul but est l'ouverture de forms existantes (frmMachin.Show vbmodal).

Hélas, la procédure Sub est appelée depuis un ContextMenu, ouvre un form
modal qui essaie d'ouvrir un autre ContextMenu (et ça, c'est un bug de
VB --> c'est pas possible).

Je dois donc, dans la procédure qui ouvre la form, non plus ouvrir la form
en modal, mais lancer un timer et terminer la procédure (comme ça, le
premier ContextMenu est bien clôturé). Le timer lui, ouvre la form en modal
et le menu contextuel peut fonctionner...

Ouf!
"François Picalausa" wrote in message
news:
Bonjour/soir,

Jette un oeil à cette rubrique:



http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/timers/timerreference/timerfunctions/settimer.asp

Pour l'employer, tu auras besoin de l'opérateur AdressOf vers ta procédure
Callback.

Il y a différents exemples sur le net et sur les newsgroups:
http://www.mvps.org/vbnet/code/forms/flashwindowsettimer.htm
http://www.partware.com/ebooks/api/ref/s/settimer.html
http://groups.google.com/groups?selm=uE9IgkO7AHA.1408%40tkmsftngp07



http://groups.google.com/groups?selm=%23gNJtGidDHA.3876%40TK2MSFTNGP11.phx.gbl
...

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com

"Michel" a écrit dans le message de
news:
> Bonjour,
>
>
> Quelqu'un connaît-il la meilleure façon de placer un timer dans un


module
ou
> une class ? L'objet timer de VB ne pouvant être que placée dans un


form...
>
> Un API probablement, mais lequel? Un p'tit exemple peut-être...
>
> Merci d'avance
>
>




Avatar
François Picalausa
Bonjour/soir,

Merci. Mais j'ai un problème pour insérer ça dans mon projet... VB se


plante
franchement. Mais pas de problème, je vais trouver où est le hic.



Crée un ActiveX DLL séparé qui ne sert que de timer et, une fois le code de
cet activeX débuggué, ça ne plantera plus. Sinon, au moindre point d'arrêt,
pression sur le bouton stop, erreur dans le code, VB se plantera.
Idem avec le sous classement.

Divers ActiveX DLL, dont celui de VB Accelerator, sont présent sur le web,
si tu n'as pas envie de le code toi même:
http://www.vbaccelerator.com/home/VB/Code/Libraries/Subclassing/SSubTimer/article.asp

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com

"Michel" a écrit dans le message de
news:
Merci. Mais j'ai un problème pour insérer ça dans mon projet... VB se


plante
franchement. Mais pas de problème, je vais trouver où est le hic.

Pour info, je cherche ça car j'ai un module qui contient des Sub dont le
seul but est l'ouverture de forms existantes (frmMachin.Show vbmodal).

Hélas, la procédure Sub est appelée depuis un ContextMenu, ouvre un form
modal qui essaie d'ouvrir un autre ContextMenu (et ça, c'est un bug de
VB --> c'est pas possible).

Je dois donc, dans la procédure qui ouvre la form, non plus ouvrir la form
en modal, mais lancer un timer et terminer la procédure (comme ça, le
premier ContextMenu est bien clôturé). Le timer lui, ouvre la form en


modal
et le menu contextuel peut fonctionner...

Ouf!
"François Picalausa" wrote in message
news:
> Bonjour/soir,
>
> Jette un oeil à cette rubrique:
>



http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/timers/timerreference/timerfunctions/settimer.asp
>
> Pour l'employer, tu auras besoin de l'opérateur AdressOf vers ta


procédure
> Callback.
>
> Il y a différents exemples sur le net et sur les newsgroups:
> http://www.mvps.org/vbnet/code/forms/flashwindowsettimer.htm
> http://www.partware.com/ebooks/api/ref/s/settimer.html
> http://groups.google.com/groups?selm=uE9IgkO7AHA.1408%40tkmsftngp07
>



http://groups.google.com/groups?selm=%23gNJtGidDHA.3876%40TK2MSFTNGP11.phx.gbl
> ...
>
> --
> François Picalausa (MVP VB)
> FAQ VB : http://faq.vb.free.fr
> MSDN : http://msdn.microsoft.com
>
> "Michel" a écrit dans le message de
> news:
> > Bonjour,
> >
> >
> > Quelqu'un connaît-il la meilleure façon de placer un timer dans un
module
> ou
> > une class ? L'objet timer de VB ne pouvant être que placée dans un
form...
> >
> > Un API probablement, mais lequel? Un p'tit exemple peut-être...
> >
> > Merci d'avance
> >
> >
>
>




Avatar
Michel
Génial... Merci encore!

"François Picalausa" wrote in message
news:
Bonjour/soir,

> Merci. Mais j'ai un problème pour insérer ça dans mon projet... VB se
plante
> franchement. Mais pas de problème, je vais trouver où est le hic.

Crée un ActiveX DLL séparé qui ne sert que de timer et, une fois le code


de
cet activeX débuggué, ça ne plantera plus. Sinon, au moindre point


d'arrêt,
pression sur le bouton stop, erreur dans le code, VB se plantera.
Idem avec le sous classement.

Divers ActiveX DLL, dont celui de VB Accelerator, sont présent sur le web,
si tu n'as pas envie de le code toi même:



http://www.vbaccelerator.com/home/VB/Code/Libraries/Subclassing/SSubTimer/article.asp

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com

"Michel" a écrit dans le message de
news:
> Merci. Mais j'ai un problème pour insérer ça dans mon projet... VB se
plante
> franchement. Mais pas de problème, je vais trouver où est le hic.
>
> Pour info, je cherche ça car j'ai un module qui contient des Sub dont le
> seul but est l'ouverture de forms existantes (frmMachin.Show vbmodal).
>
> Hélas, la procédure Sub est appelée depuis un ContextMenu, ouvre un form
> modal qui essaie d'ouvrir un autre ContextMenu (et ça, c'est un bug de
> VB --> c'est pas possible).
>
> Je dois donc, dans la procédure qui ouvre la form, non plus ouvrir la


form
> en modal, mais lancer un timer et terminer la procédure (comme ça, le
> premier ContextMenu est bien clôturé). Le timer lui, ouvre la form en
modal
> et le menu contextuel peut fonctionner...
>
> Ouf!
> "François Picalausa" wrote in message
> news:
> > Bonjour/soir,
> >
> > Jette un oeil à cette rubrique:
> >
>



http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/timers/timerreference/timerfunctions/settimer.asp
> >
> > Pour l'employer, tu auras besoin de l'opérateur AdressOf vers ta
procédure
> > Callback.
> >
> > Il y a différents exemples sur le net et sur les newsgroups:
> > http://www.mvps.org/vbnet/code/forms/flashwindowsettimer.htm
> > http://www.partware.com/ebooks/api/ref/s/settimer.html
> > http://groups.google.com/groups?selm=uE9IgkO7AHA.1408%40tkmsftngp07
> >
>



http://groups.google.com/groups?selm=%23gNJtGidDHA.3876%40TK2MSFTNGP11.phx.gbl
> > ...
> >
> > --
> > François Picalausa (MVP VB)
> > FAQ VB : http://faq.vb.free.fr
> > MSDN : http://msdn.microsoft.com
> >
> > "Michel" a écrit dans le message de
> > news:
> > > Bonjour,
> > >
> > >
> > > Quelqu'un connaît-il la meilleure façon de placer un timer dans un
> module
> > ou
> > > une class ? L'objet timer de VB ne pouvant être que placée dans un
> form...
> > >
> > > Un API probablement, mais lequel? Un p'tit exemple peut-être...
> > >
> > > Merci d'avance
> > >
> > >
> >
> >
>
>