MuPuF
Messages postés536Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention22 août 2008
-
14 août 2005 à 12:18
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
14 août 2005 à 19:58
Bonjour, je fais un programme qui uploade des fichiers sur un serveur
assez facilement (je le posterais des qu'il sera fini). Le probleme est
que lors d'un click sur la fenetre apres 2 sec il rajoute (ne répond
pas) je suppose que c'est parce que windows n'arrive pas a obtenir le
return du call back de la fenetre ce qui veux dire pour lui que le prog
est planté (ce qui est un peu vrai dans le sens ou il tourne en boucle
...) Comment faire pour intercepter ses messages sans pour autant créer
une nouvelle thread et en evitant si possible les timers (je veux pas
ralentir l'ul qui est exelent) ?
Merci de vos réponses, je vais quand meme me renseigner sur les threads en attendant.
MuPuF
Messages postés536Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention22 août 2008 14 août 2005 à 13:21
je viens de voir oui et de toute facon les perfs sont désastreuse comme
ça. Le tps d'iteration de la boucle étant assez faible (envois d'un
paquet de 1 Ko sur le net apres la lecture sur le disque).
Donc, je créé une thread et pour savoir si elle est fini variable globale (pourquoi se faire chier quand on peux faire simple).
Voila, bon ben merci encore et a la prochaine pour de nouvelles aventure sur un flot de bits.
MuPuF
Messages postés536Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention22 août 2008 14 août 2005 à 18:11
euh en fait pour savoir si elle était fini j'ai pas utilisé ça, j'ai
fais SendMessage(hwnd,666,0,0); et dans mon call back j'ai mis case 666:
Pour le 666 je me suis dit qu microsoft aurait jamais eu l'idée de
mettre ça mdr, j'avais la flemme d'aller chercher. Par contre la
variable globale m'a servie a connaitre le résultat.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 14 août 2005 à 13:15
La solution d'un thread me semble plus logique, car avec ta méthode il n'est pas sur que tous les messages seront traités rapidement (ca dépend du temps d'itération de ta boucle)
MuPuF
Messages postés536Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention22 août 2008 14 août 2005 à 18:09
Bon, ça marche au poil, xterm in hate m'avait conseillé BOOST pour les
threads, mais vus que cpp france n'était pas accessible lorsqu'il ma
dit ça j'ai pas pus aller voir sa source, j'ai donc utilisé les api,
j'ai pas trouvé ça trop dur (meme assez simple pour ainsi dire). Donc,
je posterais ce fabuleux prog des qu'il aurat été beta testé par moi et
des potes.
MuPuF
Messages postés536Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention22 août 2008 14 août 2005 à 18:26
j'avais suivis ce conseil seul probleme, c'est que quand je l'utilisais
ben le call back plantais a chaque message autre que initdialog, donc
... je me suis fais le mien comme ça no prob, n'y aurait-il pas une
liste ? car sur msdn il faut les connaitres pour les trouver et savoir
leurs code (hexa)
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 14 août 2005 à 18:42
Avec le MSDN installé en local c'est ultra simple, on met WM_ en recherche dans le second onglet et on a toute la liste devant soi.
Sinon sur MSDN web, vrai que c'est plus galère (pour un handicapé du web comme moi).
MuPuF
Messages postés536Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention22 août 2008 14 août 2005 à 19:49
oui mais sur les commandes qui on un rapport avec IE, ben ... lol ça a
changé, j'ai dus aller les chercher sur msdn web (au passage je le
trouve tres mal organisé et le meilleur moyen de trouver un truc sur ce
site c'est encore d'utiliser .... google)