Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2930 connectés 

 


Dernière réponse
Sujet : [VC++] : 2quivalent de DoEvents
Kyle_Katarn Merci

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Kyle_Katarn Merci
Lord II En fait la fonction DoEvents rend la main au systeme de facopn à ce que celui-ci fasse ce qu'il a à faire.
 
Utilisation dans une boucle qui est assez longue à chaque fin de passage on appel DoEvents...
 
Trouvé dans une fonction de remplacement de shellexecute sur le portail c2i je crois
xilebo Si je me souviens bien , la fonction DoEvents de VB sert à rafraichir les messages windows de l'application.ss
 
Je pense que tu veux que l'affichage de la fenetre soit rafraichi pendant que tu recois les paquets TCP. Si la reception des paquets se fait par un appel fonction, c'est normal que la fenetre ne soit pas rafraichie ( en effet les messages windows ne seront traites qu'a la fin de l'execution de cette fonction).
 
Il y a 2 facons de remedier à ce problème :
ssss- A chaque tour de boucle de la fonction, faire l'appel suivant
if (GetMessage(&msg, NULL, 0, 0)) {
ssssssss TranslateMessage(&msg);
ssssssss DispatchMessage(&msg);
 }
ceci permettra le traitement des messages windows à chaque tour de boucle. ( c'est l'équivalent du DoEvents en VB)
 
ssss - Methode plus "propre" : Créer un thread auxiliaire qui s'occupera de récupérer les paquets TCP. Ainsi, ton application aura toujours la main et pourra gérer ses messages.
Il faut utiliser la fonction CreateThread pour créer un thread.
TontonVader Le mieux c'est que tu encapsules tes appels à Winsock dans des threads.
Kyle_Katarn Après de longues année d'amusement fou sous VB ave Winsock, je décide de porter tout ça en VC++6.0
Mais comment "simuler" le DoEvents de VB, ce qui permet de donner une temporisation au système, le temps qu'il reçoive les paquets TCP ?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)