cs_eldim
Messages postés956Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention21 août 2014
-
5 avril 2006 à 14:01
Philippe734
Messages postés308Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention15 juin 2015
-
1 mai 2010 à 16:08
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Philippe734
Messages postés308Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention15 juin 20151 1 mai 2010 à 16:08
L'usage du multithreading est certes déconseillé et souvent instable dans vb6 mais pas impossible. Cependant, l'usage de cette méthode, qui repose sur l'api CreateThread est obsolète aujourd'hui. Je vous recommande d'utiliser la méthode reposant sur l'api SHCreateThread dont voici un exemple ci-dessous. Allez dans ses commentaires, car j'explique comment faire réduire les risques de crash sous vb6 sp6.
Voir la source :
http://www.vbfrance.com/codes/SIMPLE-PROGRAMME-MULTI-THREAD_5590.aspx
cs_jipef
Messages postés55Date d'inscriptionlundi 23 août 2004StatutMembreDernière intervention 1 août 2008 23 août 2008 à 10:11
ça plante en exe que ce soit en pcode ou pas !!
avez vous d'autres solutions ??
cs_MasterHack
Messages postés586Date d'inscriptionjeudi 18 septembre 2003StatutMembreDernière intervention13 février 20082 5 avril 2006 à 22:50
salut,
tant de penne pour un multithread , voici une fonction qui vous facilitera la vie:
SHCreateThread
a+++ les amis
thel0rd
Messages postés14Date d'inscriptionlundi 16 février 2004StatutMembreDernière intervention20 janvier 2012 5 avril 2006 à 15:05
ça plante pas (en vb5)... faut essayer avant d'affirmer :) j'insiste, oui , c'est vrai, ça tient qu'a un fil et il faut etre sur de ce qu'on code. Par contre évitons ensemble les allegations douteuses sans avoir vérifié au préalable thx ;)
cs_eldim
Messages postés956Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention21 août 20141 5 avril 2006 à 14:56
lol
pas en vb.net (mais c'est plus vraiement du vb...)
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 5 avril 2006 à 14:48
Avec le multithread (en VB), on ne sait jamais quand mais une chose est sûre : ça plantera !!!
thel0rd
Messages postés14Date d'inscriptionlundi 16 février 2004StatutMembreDernière intervention20 janvier 2012 5 avril 2006 à 14:21
Evidemment, FeelCode tu as raison aussi quand tu dis qu'il ne faut utiliser le threading que lorsqu'on en a besoin, mais un bon handling des erreurs et ça reste assez stable. Je l'utilise pour tout ce que je fais necessitant un traitement "lourd" d'information. D'ailleurs si tu peux me donner le lien de ton code que je jette un oeil, je n'ai jamais une seule source en vb qui permette de threader sans accroc en passant une valeur a lParameter, et en vb6 je crois même pas que ce soit possible sans plantage.
FeelCode
Messages postés278Date d'inscriptionvendredi 16 avril 2004StatutMembreDernière intervention27 avril 20061 5 avril 2006 à 14:14
il faut compiler en Pcode et non en natif ou l'inverse je me souvient plus, et enfin pour passer les argument je dirai qu'il vaut mieut passer par un variable public pour contourner le probleme.
thel0rd
Messages postés14Date d'inscriptionlundi 16 février 2004StatutMembreDernière intervention20 janvier 2012 5 avril 2006 à 14:10
VB5 uniquement, en vb6 ça crash sans arret, au maximum tu peux threader une sub, mais des qu'il passer un argument c'est foutu...
J'ajoute par la même occasion qu'il est possible de débugguer la source avec l'IDE de vb5, mais pas step by step. alors vous me direz quelle utilité? ben en mode debug vous aurez au moins le message d'erreur de vb avant que l'IDE plante donc on peut quand même fixer. en compilé, une erreur dans la thread et c'est un plantage sans aucune forme de remerciement. Il vaut mieux etre sur a 100% de sa foncton avant de la threader.
FeelCode
Messages postés278Date d'inscriptionvendredi 16 avril 2004StatutMembreDernière intervention27 avril 20061 5 avril 2006 à 14:06
bof existe deja et dasn pas mal d'exemple don mon source....
bref sans grand interer ,a part que je dirait que : le multi tread c est vraiment a eviter dans la mesure du possible. si dans certaine situation on ne peut faire autrement par ex une boucle infinie velontaire pour faire un control sur quelque chose.
sinon doevents est peut etre un peut lent mai a ce moment la on peut faire un teste par exemple faire 1 doevents sur 100 passage de boucle
de plus un tread c est pas vraiment bien decharger un foit terminer
cs_eldim
Messages postés956Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention21 août 20141 5 avril 2006 à 14:01
Bonjour,
L'idée semble bonne mais effectivememt ça ne fonctionne pas en vb6...
Alors en quelle version de vb cela fonctionne-t-il ? (car cela ne ressemble pas à du vb.net...)
1 mai 2010 à 16:08
Voir la source :
http://www.vbfrance.com/codes/SIMPLE-PROGRAMME-MULTI-THREAD_5590.aspx
23 août 2008 à 10:11
avez vous d'autres solutions ??
5 avril 2006 à 22:50
tant de penne pour un multithread , voici une fonction qui vous facilitera la vie:
SHCreateThread
a+++ les amis
5 avril 2006 à 15:05
5 avril 2006 à 14:56
pas en vb.net (mais c'est plus vraiement du vb...)
5 avril 2006 à 14:48
5 avril 2006 à 14:21
5 avril 2006 à 14:14
5 avril 2006 à 14:10
J'ajoute par la même occasion qu'il est possible de débugguer la source avec l'IDE de vb5, mais pas step by step. alors vous me direz quelle utilité? ben en mode debug vous aurez au moins le message d'erreur de vb avant que l'IDE plante donc on peut quand même fixer. en compilé, une erreur dans la thread et c'est un plantage sans aucune forme de remerciement. Il vaut mieux etre sur a 100% de sa foncton avant de la threader.
5 avril 2006 à 14:06
bref sans grand interer ,a part que je dirait que : le multi tread c est vraiment a eviter dans la mesure du possible. si dans certaine situation on ne peut faire autrement par ex une boucle infinie velontaire pour faire un control sur quelque chose.
sinon doevents est peut etre un peut lent mai a ce moment la on peut faire un teste par exemple faire 1 doevents sur 100 passage de boucle
de plus un tread c est pas vraiment bien decharger un foit terminer
5 avril 2006 à 14:01
L'idée semble bonne mais effectivememt ça ne fonctionne pas en vb6...
Alors en quelle version de vb cela fonctionne-t-il ? (car cela ne ressemble pas à du vb.net...)