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

  FORUM HardWare.fr
  Programmation

  [VC++] : 2quivalent de DoEvents

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VC++] : 2quivalent de DoEvents

n°12731
Kyle_Katar​n
Posté le 05-02-2001 à 08:27:16  profilanswer
 

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 ?

mood
Publicité
Posté le 05-02-2001 à 08:27:16  profilanswer
 

n°12753
TontonVade​r
Fear is my ally...
Posté le 05-02-2001 à 12:17:02  profilanswer
 

Le mieux c'est que tu encapsules tes appels à Winsock dans des threads.

n°12758
xilebo
noone
Posté le 05-02-2001 à 12:53:07  profilanswer
 

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.

n°12761
Lord II
PIB2000
Posté le 05-02-2001 à 13:05:48  profilanswer
 

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


---------------
La bave du crapaud n'empèche pas la caravane de passer .
n°12995
Kyle_Katar​n
Posté le 06-02-2001 à 19:24:54  profilanswer
 

Merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [VC++] : 2quivalent de DoEvents

 

Sujets relatifs
Plus de sujets relatifs à : [VC++] : 2quivalent de DoEvents


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