[VB6][active x] faire du multi-thread avec vb
Voila la semaine derniere j'avais pose une question sur comment faire une application qui tourne en arriere plan .
Voici un debut de solution pour ceux que ca pourrait interesser
il faut creer un activeX avec une frame qui contient un Timer et la fonction que vous voulez faire tourner en arriere plan.
quand vous lancer votre active x a partir du programme principale celui-ci
se lance dans le meme thread puis lance le timer et la, il rend "la main" au programme principale . quand le timer tic pour la premiere fois il lance la fonction qui du coup s'execute dans le meme thread que le timer et pas celui-du prog principale :wink:
Voila maintenant que ca marche bien j'aimerais bien que une fois la fonction finie celle ci previenne le programme principale quelle a fini
mais je ne sais pas comment faire
si quelqu'un a une idee ????
a+ :D
Re: [active x] faire du multi-thread avec vb
Citation:
Envoyé par pecheur
quand vous lancer votre active x a partir du programme principale celui-ci se lance dans le meme thread puis lance le timer et la, il rend "la main" au programme principale . quand le timer tic pour la premiere fois il lance la fonction qui du coup s'execute dans le meme thread que le timer et pas celui-du prog principale
:) C'est un petit peu confus : l'activeX se lance dans le même thread ou pas ?
J'ai pas bien compris, il est sous quelle forme ton activeX, c'est un ocx ?
Re: [active x] faire du multi-thread avec vb
c'est vrai c'est un peu confu
je vais essayer d'etre un peu plus clair (si j'y arrive :D )
tout d abord mon activeX un activeX.exe non pas un ocx
Quand ton programme principale lance un activeX. ce creer alors un nouveau thread dans lequel s'execute ton activeX cependant si tu effectu le traitement directement dans ton activeX le programme principale va attendre que ce traitement soit fini pour reprendre la main (la je ne sais pas pourquoi ca fais ca ?)
D'ou un timer pour declancher le traitement plus tard
comme ca quand tu lance ton activeX il ne fais rien dans un premier temps donc il rend la main a ton programme principale directement et ainsi le
deux threads sont vraiment totalement independants
je ne pense pas que se soit la solution la plus simple, si quelqu'un a quelque chose de mieux a me proposer ca m'interesse
a+
ok j'avais pas pense a ca
pas con du tout
bon en fait je t'explique le pourquoi du timer
d'abord j'avais lu un post de je sais plis qui sue le forum qui disait qu'il fallait utiliser un activeX
du coup j'ais creer un activeX en lancant le traitement dans le Class_Initialize()
ca marcher pas comme je voulais... la quelqu'un me dis utilise un timer...
du coup j'ais creer une form avec un timer...
mais je vais refaire le truc avec ta solution ca me parait beaucoup plus propre :D
pour ce qui est des withevent ... et tout j'ais utiliser la reponse que t'avait file a cpri1shoot pour kles fenetre midi...
:merci: pour les conseils ...
a+