begin process at 2012 05 30 02:08:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

MFC

 > 

Problème avec la fonction callback du timer


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème avec la fonction callback du timer

vendredi 9 novembre 2007 à 09:51:27 | Problème avec la fonction callback du timer

Arkadias

Bonjour tout le monde, je suis confronté à un problème de timer.

Voila la situation :

Dans le cadre d'un projet de conversion de protocole, je récupère les trames ethernet, les stock dans un buffer annexe et lorsque ce buffer est plein je l'envoi sur une carte qui va faire la conversion.

Mon problème survient au moment de l'envoi de la dernière trame reçue, si cette trame ne remplis pas le buffer il n'est jamais envoyé. C'est pourquoi j'ai voulu mettre en place un timer qui me permettrai d'envoyer mon buffer si je ne reçois plus de trame pendant X milisecondes.

Information :  j'utilise les MFC

Maintenant, voila mon soucis :

J'utilise un paquetage ou je stock mes fonctions afin de les appelées depuis mon dialogue box, ces fonction n'apartiennent donc à aucune classe. J'ai pu initiliser un timer avec la fonction :

 TimerID = SetTimer (NULL, 1, Temps_timer,(TIMERPROC)TimerProc);

Lors du time out la fonctione TimerProc devrai donc être appelée. J'ai vérifié la valeur de mon TimerID et il ne vaut pas 0, le timer est donc bien crée.

La ou le problème survient c'est que je n'arrive jamais dans la fonction de callback.

Ma fonction callback :

void CALLBACK TimerProc(HWND hWnd, UINT uMsg, UINT idEvent, DWORD dwTime)
{
      (Traitement ici)
}


Auriez-vous une idée de pourquoi ma fonction de callback n'est jamais appelée ?
vendredi 9 novembre 2007 à 20:47:47 | Re : Problème avec la fonction callback du timer

juju12

Dixit Platform SDK:
If your application creates a timer without specifying a window handle, your application must monitor the message queue for WM_TIMER messages and dispatch them to the appropriate window.

Donc faut que ta boucle de message soit en train de tourner; si ca te pose problème, tu peux créer un nouveau thread poiur faire ca.
samedi 10 novembre 2007 à 16:05:00 | Re : Problème avec la fonction callback du timer

Arkadias

Salut,
Lorsque tu parles de la boucle des messages c'est à cette boucle que tu fais référence ?

while
(GetMessage(&msg, NULL, 0, 0))
{
    TranslateMessage(&msg);
    DispatchMessage(&msg);
}

Si oui, j'y ai testé et dans le traitement je ne reçois jamais de message WM_TIMER cela dis...j'y ai peut-être pas mis au bon endroit.
samedi 10 novembre 2007 à 18:04:44 | Re : Problème avec la fonction callback du timer

juju12

C'est de cette boucle que je parlais; simplement ça dépend de l'endroit ou elle est effectivement; il faut que ton code soit dans la boucle pendant qu'il attend les trames...je suppose que pour l'instant tu es dans une espèce de truc semblable mais pour le réseau, alors il faut que tu traites réseau et messages windows dans la même boucle. Mets voir le bout de code en question si tu veux.
lundi 12 novembre 2007 à 10:08:16 | Re : Problème avec la fonction callback du timer

Arkadias

Le code de ma boucle d'acquisition des trames ?

J'utilise winpcap donc ça donne un truc du genre :

 while((res = pcap_next_ex( adhandle, &header, &pkt_data)) >= 0)
{
   if(res == 0)
   // Timeout elapsed
   continue;
  
   [Affichage de la trame]

   [Traitement]

 }

Il faudrai donc que je mette la boucle des messages la dedant ? Ca risque pas de tout me bloquer ?



Cette discussion est classée dans : buffer, problème, fonction, timer, callback


Répondre à ce message

Sujets en rapport avec ce message

Probleme de timer avec fonction de callback [ par julienbj ] Bonjour,j'ai un petit souci lors de la création d'un timer avec une fonction de callback.Voici un bout de code qui ne fonctionne pas, mais je ne vois problème avec un socket bloquant [ par Space_Monkey ] Bonjour,Après une journée de recherches, je ne suis pas parvenu à identifier clairement mon problème, j'ai donc décider de poster.J'utilise depuis lon importer une fonction depuis un dll externe [ par Rabbi Jakob ] Bonjour,Je programme en c++ sous visual studio 2005J'ai un petit problème avec ma dll Je dispose d'une dll avec son fichier .lib. Je les ai mis tous l Timer sous visual c++4.0 [ par leuk ] Bonjour à tous,Je développe sur un microprocesseur équipé d'un OS windows CE. Cependant je voudrai utiliser son timer pour caluculer un débit toutes l Decompression JPEG [ par aziatedu13 ] bonjour,Je cherche a faire une fonction de décompression en Jpeg to BMP.J'ai pris quelque exemple masi un problème me bloque.voici tout d'abord ma fon gluttimerfunc et sections critiques... [ par thespartan ] Bonjour. Je veux faire des animations en fonction du temps écoulé... D'une part j'ai ma fonction principale d'affichage : affichage ( ){ dessineBoule( Problème avec la copie Shell... [ par shinnokamui ] Bonjour,J'ai un problème avec mon programme C++, qui effectue une copie de fichiers avec l'API win32 en utilisant le Shell (fonction SHFileOperation). Appel fonction avec GTK+ [ par ptityo31 ] Bonjour,je débute sur GTK+, et j'aimerai avoir des précisions sur le lancement d'une application à partir d'un clic.En effet je dois envoyer des trame Z-Buffer fait des siennes [ par bizzard4 ] J'ai un problème avec mon Z-Buffer. Il affiche très bien la partie droite et le dessous de mes cubes. Mais quand il est temps d'afficher le côté gauch fonction AfxMessageBox [ par dragonfly95 ] 1)bonjour, je fais un programme en MFC sur VS.net 2005 et j'ai un problème sur la fonction d'affichage AfxMessageBox(). j'affiche un message de cett


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales