Bonjour, j'ai cree une application qui lorsqu'on appui sur un bouton lance un traitement. ce traitement peut être long et je souhaiterai avoir la possibilite de l'arreter a tout moment.
Je souhaite pouvoir appuyer sur un autre bouton et recuperer cet evenement dans mon traitemen tpour pouvoir le stopper.
Quelqu'un aurait-il une idée sur la façon de s'y prendre ? ou deja effectué cela
Merci,
Oui tu fais ton traitement dans un thread.
Le thread doit stopper seulement dans 3 conditions :
Erreur de traitement,
Fin du traitement,
Event si appui sur bouton d'arret.
/*-- on boucle tant que l'on n'a pas recut d'événement stopper --*/
}while( WaitForSingleObject( eventStopSound, D_TIME_OUT_STOP_SOUND ) == WAIT_TIMEOUT );
/*-- on ferme --*/
CloseHandle( d_eventStopSound );
d_eventStopSound = NULL;
après ta boucle dans le thread tu rajoutes :
/*-- on ferme --*/
CloseHandle( d_eventStopSound );
d_eventStopSound = NULL;
avant tout il y a quelques déclaration à faire :
#define D_TIME_OUT_STOP_SOUND 1L
HANDLE d_eventStopSound = NULL;
d_eventStopSound = CreateEvent(NULL,FALSE, FALSE, D_EVENT_STOP_SOUND);
sur ton bouton d'arret tu mets le code pour activer l'event :
/*-- mettre dans le bouton d'arret d'urgence --*/
SetEvent( d_eventStopSound );
En fait j'ai l'impression que lorsque je click sur le bouton d'arret, il ne fonctionne pas (lorsque mon appli est en cours de d'utilisation )
Y' a t il quelque chos ea faire pour que le bouton soit operationnel et que l'evennement soit pris en compte ?