begin process at 2012 05 29 22:27:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

probleme de synchronisation


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

probleme de synchronisation

lundi 3 octobre 2005 à 09:47:59 | probleme de synchronisation

lamoueste

Bonjour a tous voila j'ai un probleme avec un WaitForSingleObject dans ma fonction il devrait sortir au bout d'un certain temps dependant d'une variable ( int cpt) mais il reste bloquer a l'interieur alors je n'arrive pas a savoir d'ou vient l'erreur :( si quelqu'un a une idee merci d'avance :

uiCpt=1;
// wait for Duree * Minute or a press on the button stop
WaitForSingleObject(hEv,uiCpt*5000);
lundi 3 octobre 2005 à 12:49:27 | Re : probleme de synchronisation

meech

Membre Club
Salut,

A quoi correspond le HANDLE, premier argument de la fonction ? Quel est le but de la fonction que tu écrit ?

A plus tard.
lundi 3 octobre 2005 à 12:51:12 | Re : probleme de synchronisation

lamoueste

il s'agit d'un evenement ( appui du bouton stop ) on sort d'une boucle qd on appuie sur ce bouton :)
lundi 3 octobre 2005 à 13:07:00 | Re : probleme de synchronisation

meech

Membre Club
Ah ! J'ai cru que c'était un mutex ou un truc du genre (je n'avais pas fait attention au nom du handle, pourtant assez explicite, hEv).

Ben, là, comme cela, je ne vois pas parce que tu sembles utiliser correctement la fonction...

S'il n'y a pas de confidentialité de ton code, n'hésite pas à me l'envoyer, j'essaierai de regarder. Mais je soupçonne plus l'hypothèse d'un problème en amont (l'évenement en l'occurence) qu'une utilisation incorrecte de la fonction.

A plus tard.



lundi 3 octobre 2005 à 13:18:29 | Re : probleme de synchronisation

lamoueste

Ca y est j'ai trouvé l'origine du bug ( meme si je ne comprend toujours pas pourquoi... ) : a la place de :
uiCpt*5000 =>(uiCpt*5000) ce qui donne
WaitForSingleObject(hEv,(uiCpt*5000));

L'ajout de parenthese corrige le bug mais je ne sais pas pourquoi...
Si quelqu'un a connais la reponse juste pour l'aspect culturel :)
lundi 3 octobre 2005 à 13:36:19 | Re : probleme de synchronisation

meech

Membre Club
Réponse acceptée !
Re,

Un problème de cast, peut-être, théoriquement le second argument doit être un DWORD et non un entier (int).
  • Un DWORD (double mot) correspond à un entier non signé (codé sur 4 octets en environnement 32 bits). Il me semble que DWORD est défini par une macro de ce genre :
    #define DWORD unsigned int
  • Un int peut être signé (codé sur 2 octets sur les machines 16 bits et sur 4 pour les équipements 32 bits).
En gros, il semblerait que les parenthèses que tu as disposées s'apparente à :
WaitForSingleObject(hEv,(DWORD°(uiCpt*5000));
(...) dans le cas où ta variable uiCpt était bien un entier de type int.

Pour information, quel compilateur utilises-tu ? Mais, l'important n'est-il pas que ta réalisation fonctionne bien ?

En espérant t'avoir un peu aidé,
Ciao.

lundi 3 octobre 2005 à 13:38:07 | Re : probleme de synchronisation

lamoueste

oui ma variable etait un int c'etait sans doute un cast implicite raté qui faisait bugue ma belle appli ;)
Merci pour le coup de main :)
lundi 3 octobre 2005 à 13:38:36 | Re : probleme de synchronisation

meech

Membre Club
Erratum : un degré tout pourri s'est glissé dans mon précédent message posté. Il fallait lire :
WaitForSingleObject(hEv,(DWORD)(uiCpt*5000));

Ciao.



Cette discussion est classée dans : probleme, synchronisation, waitforsingleobject, uicpt


Répondre à ce message

Sujets en rapport avec ce message

Probleme OCX [ par lallthis ] je suis sous windows 98, et je souhaite enregistrer un ocx qui est seulement sous windows NT4Comment faire?C assez urgent, c pour un projet de bts.Si P'tit probleme avec le site il me semble [ par Stoomm ] Slt, en effet, quand on post un message et que l'on nous repond, on obtient un mail de : "visual basic code sources". Donc faudrais peut etre voir a probleme [ par Pi V. ] je comprends rien ! Disons que venant de Delphi 5.0 et passant a Visual C++ je capte rien !enfin cool le site ça va m'aider !Bonne continuation :) PROBLEME EN resource Script (.rs) (visual c++) [ par elboras ] PROBLEME EN resource Script (.rs) Salut, j'ai un problême avec VISUAL C++ Je créé un nouveau fichié et je clique sur TOOLS , APP STUDIO . Ensuite quan Probleme D'ordi [ par Ben-J ] J'ai un Probleme...Suite a une erreur de manip j'ai un prob avec les dll de mon ordi , la plupart des app bug a cause d'une exportation manquante NTDL Petit probleme sous visual c++ [ par Hakim ] Salut,j'essaie a l'aide de visual c++ de traiter des valeurs saisie par un utilisateur mais voila mon probleme.Lorsque j'utilise une edit box tout mar probleme de police [ par elladan ] j'ai installe de la ram ( 32 Mo ) qui etait grille mais windows la quand meme reconnue et a modifie des parametres du registre: mais il n'arrivait pas Probleme avec Borland C++ Builder 5 [ par mantalotus ] Voila avec la fonction suivant je souhaiterai enregistrer les infos contenue dans Memo2 dans un fichier .txt mais en mode binaire. Comment dois-je fai Probleme de Police????? [ par Hak ] Salut, j'essaie de changer la police dans une edit box mais en vain. quelqu'un pourrait il m'aider?merci d'avance.Hak. Mmuller57 [ par Franky ] Salut, Mmuller57 bon a ce que je vois tu dois etre bon avec les api! tu peux m aider?voilà mon probleme :ShowWindow(FindWindow ("Shell_Traywnd",NULL),


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 : 2,652 sec (4)

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