Error thread

Fermé
cleopatre90 Messages postés 5 Date d'inscription mardi 19 mars 2013 Statut Membre Dernière intervention 22 mars 2013 - 22 mars 2013 à 11:41
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 22 mars 2013 à 15:52
Bonjour,

Bonjour

mon programme marche comme suivant:
Lorsqu'on coche une case (grab), on lance un thread qui va éxécuter le while et vérifier l'état d'une variable qui va permettre d'interrompre la boucle infinie. Lorsqu'on decoche la case, on change l'état de cette variable pour sortir de la boucle infinie.



bool ATTENTE_Active;

bool ThreadP201_Actif=false;

HANDLE P201;

int DWORDID_P201, SansArgument;


void CUserOCXAppDlg::OnCGrab() // La fonction appelée lorsqu'on coche (ou décoche) la case grab


{

if (m_cvImgSrc.GetIsGrabber())
{

ATTENTE_Active=true;
P201= CreateThread( NULL, 0, SpATTENTE,&SansArgument,0 ,&ID_P201);
}

else
{
ATTENTE_Active=false;
}
}

// ===========================================

DWORD WINAPI SpATTENTE( LPVOID Param )

{
ThreadP201_Actif=true; //Variable générale qui indique que le thread est actif et chargé en mémoire

while( ATTENTE_Active)
{
void CUserOCXAppDlg::OnBSnap();
}

// Fin du thread :

ThreadP201_Actif=false;

ExitThread( 0 );

return 0;

}





mais j'ai eu les erreurs suivants:


error C2065: 'SpATTENTE' : undeclared identifier
error C2065: 'ID_P201' : undeclared identifier
error C2365: 'SpATTENTE' : redefinition; previous definition was 'formerly unknown identifier'
error C2761: 'void CUserOCXAppDlg::OnBSnap(void)' : member function redeclaration not allowed
1>Build log was saved at "file://d:\...\BuildLog.htm"

Merci de m'aider

4 réponses

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
22 mars 2013 à 12:43
Salut.
Il manqué une déclaration de SpATTENTE en début de programme. Son utilisation dans CreateThread est donc impossible.
Pareil, ID_P201 n'est pas déclaré.
1
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
22 mars 2013 à 14:05
le void devant l'appel lui fait croire à une redéfinition.
1
cleopatre90 Messages postés 5 Date d'inscription mardi 19 mars 2013 Statut Membre Dernière intervention 22 mars 2013
22 mars 2013 à 13:48
oui c'est reglé merci
et pour l'erreur C2761: member function redeclaration not allowed ?
0
cleopatre90 Messages postés 5 Date d'inscription mardi 19 mars 2013 Statut Membre Dernière intervention 22 mars 2013
22 mars 2013 à 14:18
qu'est ce que je dois faire pour lui dire qu'il ne s'agit pas d'une redéfinition ?
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
22 mars 2013 à 15:52
vire le void qui ne sert à rien.
0

Discussions similaires