Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Bouton d'arret d'urgence [ Archives / Au secours ] (tanguy_laverdure)

lundi 23 février 2004 à 08:59:58 | Bouton d'arret d'urgence

tanguy_laverdure

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,

lundi 23 février 2004 à 09:39:38 | Re : Bouton d'arret d'urgence

Arnotic

Administrateur CodeS-SourceS
Bonjour,

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.

@+
Arnotic
Admin CS, MVP Visual C++

lundi 23 février 2004 à 12:29:39 | Re : Bouton d'arret d'urgence

tanguy_laverdure

Merci de l'info,
Autais tu un exemple d'utilisation de thread a cette fin?

lundi 23 février 2004 à 14:13:30 | Re : Bouton d'arret d'urgence

Arnotic

Administrateur CodeS-SourceS
Bonjour,

Dans ton thread tu mets :

do
{

/*-- 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 );

@+
Arnotic
Admin CS, MVP Visual C++

lundi 23 février 2004 à 16:21:45 | Re : Bouton d'arret d'urgence

tanguy_laverdure

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 ?

lundi 23 février 2004 à 16:38:03 | Re : Bouton d'arret d'urgence

Arnotic

Administrateur CodeS-SourceS
Bonjour,

Justement en utilisant des threads, et pas faire une boucle direct dans le programme.

Je vais essayer de mettre une source d'exemple ce soir sur le site, je te tiens au courant !

@+
Arnotic
Admin CS, MVP Visual C++

lundi 23 février 2004 à 20:36:07 | Re : Bouton d'arret d'urgence

Arnotic

Administrateur CodeS-SourceS
Bonjour,

Je viens de rajouter une exemple sur le site.

Va voir à cette URL :
http://www.cppfrance.com/code.aspx?ID=20707

@+
Arnotic
Admin CS, MVP Visual C++



Cette discussion est classé dans : bouton, arret, traitement, urgence


Répondre à ce message

Sujets en rapport avec ce message

Traitement des messages (win32) [ par Dorgendubal ] Bonjour,j'ai un petit probleme de traitement des messages sous win32 (sans MFC !). Quand je crée un nouvel objet (bouton, edit,...) avec CreateWindow( Affichage d'une photo et arret d'affichage [ par rasta_raf ] Bonjour,Je programme avec la bibliothèque MFC de Visual C++ 6.0 et j'ai créé une application SDI qui affiche une FormView où il y a 2 boutons (Bouton Multitache et MFC [ par tigerskin ] Bonjour a tous.J'ai un petit soucis je  voudrais réaliser un bouton d'arret d'urgence pour une application qui execute une tache en fond et qui me blo Creation d'un Thread en MFC et arret par un bouton [ par djtiaf ] Bonjour à tous,Je cherche à créer un Tread tout simple :fonction Thread du bouton Start{while (arret=false) { Sleep(1000) // on laisse 1 sec Bouton non disponible... [ par dbiare ] Bonjour a tous Je développe une application industrielle en Visual C++6. Cette application pilote un process. Pendant le traitement, je dois pouvoir c Arret sur click d'un bouton [ par julienbornet ] Bonjour quelqu'un connaitrait il la fonction qui permet de verifier si un bouton a ete clique. Je travail dans une dialogu box et je souhaite programm affichage image a près appui d'un bouton poussoir visual c++ [ par grandfrancis ] Salut, j'aimerais afficher plusieurs images après l'appui de boutons via une carte d'acquisition. J'ai installé un timer qui scrute les entrées toutes arret boucle while par clic bouton [ par julienbornet ] Bonjour, je suis entrain de programer une API. Cette api est programmer dans une dialogu box. et je chehce a arreter une boucle while lorsque l'utilis afficher image avec un bouton poussoir [ par grandfrancis ] Salut, j'aimerais afficher une image a l'aide d'un bouton poussoir via une carte d'acquisition. j'ai mis un timer qui lit les entrées mais je sais pas Creation d'une fenetre d configuration [ par bordeaux ] Bonjour,j'aimerais créer une action sur un élément qui permettent de faire la meme chose que le bouton options de mozilla par exemple.EN fait j'ai dej


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.