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

  FORUM HardWare.fr
  Programmation

  Question à priori basique en VC++

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Question à priori basique en VC++

n°23257
Kyle_Katar​n
Posté le 09-04-2001 à 12:12:22  profilanswer
 

Bonjour,
 
Vous devez être d'accord avec moi, ce qui peut être fait en VB peut aussi l'être en VC++.
 
Alors maintenant donnez moi le code VC++ du DoEvents de VB...

mood
Publicité
Posté le 09-04-2001 à 12:12:22  profilanswer
 

n°23260
darkoli
Le Petit Dinosaure Bleu
Posté le 09-04-2001 à 12:35:22  profilanswer
 

je connais bien VC++ mais pas du tout VB, alors c'est quoi "DoEvents" ?

n°23265
Lord II
PIB2000
Posté le 09-04-2001 à 12:42:09  profilanswer
 

Le doevents permet ( enfin c'est mon idée et la msdn) de rendre la main au systeme pendant l'execution d'un traitement long.
 
On l'utilise par exemple a la fin des instruction d'une boucle très longue ou lors de l'appel d'un prog externe dont le tps d'execution peut etre variable


---------------
La bave du crapaud n'empèche pas la caravane de passer .
n°23281
Kyle_Katar​n
Posté le 09-04-2001 à 13:22:29  profilanswer
 

Accessoirement on s'en sert aussi en client serveur par winsock pour faire des boucles d'attente (while...) avec uniquement un doevetns dedans ce qui permet d'attendre le réponse de l'autre poste

n°23287
bat
Posté le 09-04-2001 à 13:40:25  profilanswer
 

Alors là, c'est beaucoup plus subtile qu'en VB ...
En effet, si tu veux effectuer deux taches en meme temps, le mieux c'est quand meme de creer un thread et d'éxecuter ton traitement long dedans, ce sera plus efficace.
Sinon, il faut vérifier à intervalle régulier si il y a de nouveaux messages dans la pile des messages Windows de l'appli
et les transmettre à la procedure WindowsProc de ton appli (c'est ce que fait la methode idle() de CWinApp dans les MFC).
 
En espérant t'avoir aider.
a+

n°23288
bat
Posté le 09-04-2001 à 13:42:10  profilanswer
 

Pour ce que j'ai dit au niveau des MFC, il semblerait que ce soit faux.  
Dsl !

n°23290
bat
Posté le 09-04-2001 à 13:46:41  profilanswer
 

Un exemple de la méthode "sans 2eme thread" dans le topic :
Faire une pause dans l'éxécution d'une boucle en C++ ?

n°23413
MiniCooler
Posté le 09-04-2001 à 17:04:50  profilanswer
 

A mon avis, voici ce que fait ton DoEvents
 
MSG msg ;  
// Read all of the messages in this next loop,  
// removing each message as we read it.
while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))  
{  
     // Dispatch the message.
     DispatchMessage(&msg);  
}


---------------
SetiCommander, le setiseur à la chaîne ...
n°23439
tsr
Posté le 09-04-2001 à 17:49:08  profilanswer
 

si tu veut pas te faire chier !
dans ta boucle tu met l'instruction "Sleep(nbmilliseconde);"

n°23443
Kyle_Katar​n
Posté le 09-04-2001 à 17:51:18  profilanswer
 

non car sleep crée un pause ou rien ne sefait et d'une durée limitée fixe alors que Doevents attends que Win ai "fini" pour reprendre.
 
mais je vais essayer de me débrouiller avec ça !
merci à vous tous.

mood
Publicité
Posté le 09-04-2001 à 17:51:18  profilanswer
 

n°23467
MiniCooler
Posté le 09-04-2001 à 18:45:04  profilanswer
 

c'est vrai, sleep ne fait que mettre en pause le thread en cours; alors que ce que je t'ai proposé devrait faire a peu près ce que fait DoEvents


---------------
SetiCommander, le setiseur à la chaîne ...
n°23492
Kyle_Katar​n
Posté le 09-04-2001 à 21:15:35  profilanswer
 

effectivement


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

  Question à priori basique en VC++

 

Sujets relatifs
toujours question sur V C++ ;)[VB] question à la con sur un SStab
pitie question avec un menu déroulant pour héroquestion simple ... mais pas tant que ca
Petite question avec Visual C++[Postgresql] question simple
Question de débutant en ACTIVE XGraphisme basique en C++
question sur les message queue (UNIX) posix 1003.1bnewbie, question urgente
Plus de sujets relatifs à : Question à priori basique en VC++


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR