Multithread comment ça marche ?

cs_marco62118 Messages postés 176 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 1 avril 2013 - 18 juin 2008 à 00:08
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 - 18 juin 2008 à 13:35
bonjour à toutes et tous

est ce que avec VB6 on peut faire du traitement "multithread"?

je voudrais faire en arrière plan un chargement de dictionnaire assez volumineux et en premier plan faire apparaitre une animation pour patienter pendant le chargement.
je n'ai aucune idée de comment ça peut fonctionner
merci d'avance

<!-- / message -->

5 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
18 juin 2008 à 01:24
Salut
Oui, on peut le faire mais c'est assez complexe, surtout que, une fois un process détaché, il est compliqué d'inter-agir avec.
As-tu tapé "thread" dans le moteur de recherche ? Il y a la réponse.

Une solution serait de gérer le rythme de chargement de ton fichier.
Comme on ne connait pas ta méthode de chargement, difficile de t'aiguiller.
Pense aux DoEvents dans les boucles si tu veux que Windows puisse gérer les évènements d'un Timer d'animation, par exemple

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
18 juin 2008 à 07:54
Bonjour à vous deux,
Dans l'aide VB6 tu tape..
Création d'une DLL ActiveX
C'est un petit cour sur la programmation en multitrhead.
A+
0
cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 2
18 juin 2008 à 08:31
SAlut,
De maniére relativement simple, dans vb6 tu peux utliser des timers pour 'simuler' des threads.
Dans ta fonction principale tu charges ton dicos et dans le timer l'animation
N'oublie pas d'utiliser des doevents à tout va.
@+
Megafan
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
18 juin 2008 à 10:34
ton animation est en quel format??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
18 juin 2008 à 13:35
VB6 n'est pas prévu pour faire du multithreading.

Mais comme le dit Jack, il est possible de faire du multithreading.
C'est compliqué et généralement l'application ainsi développée est très instable. C'est pour cela que généralement il est dit que ce n'est pas possible.

La méthode de l'ActiveX est une solution déguisée de faire du multithreading. Ce n'est pas du vrai multithreading au sens ou on l'entend généralement en programmation (avec gestion, etc...), c'est juste que la pluspart du temps un activeX est executé dans son propre thread. Ca peut résoudre certains problèmes, mais c'est pas vraiment élégant.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
Rejoignez-nous