Suspendre une boucle infinie [C++] - Programmation
Marsh Posté le 30-05-2001 à 17:30:50
ton bouton annuler, il fait partir d'une interface graphique ou c'est une combi du genre ctrl+c?
Marsh Posté le 30-05-2001 à 17:37:16
sous Unix: un petit ps puis kill
sous windows : CTRL + ALT + DEL
Marsh Posté le 30-05-2001 à 17:50:17
jupiler a écrit a écrit : sous Unix: un petit ps puis kill sous windows : CTRL + ALT + DEL |
j'ajouterai : sur n'importe quel système : un bon coup de hache sur le cable d'alim...
Marsh Posté le 30-05-2001 à 17:58:27
eh l'autre !!! n'importe koi !!! et les portables alors ?
hein ? hein ? comment in fait ?
Marsh Posté le 30-05-2001 à 18:10:04
ah merde...
Bon, ben faut taper sur l'UC suffisemment fort pout niquer le proc, je vois que ça....
Marsh Posté le 30-05-2001 à 18:12:21
non, évites de faire une boucle infinie, c vraiement pas bien, ça bloque tout...même les contrôles !
Fait plutot un timer (méthode SetTimer de l'api) si t sous windows tu verras c génial !
si t sous unix...je sais pas j'y connais rien !
Marsh Posté le 30-05-2001 à 18:15:47
El_gringo a écrit a écrit : non, évites de faire une boucle infinie, c vraiement pas bien, ça bloque tout...même les contrôles ! Fait plutot un timer (méthode SetTimer de l'api) si t sous windows tu verras c génial ! si t sous unix...je sais pas j'y connais rien ! |
ben non, si il la met dans un thread à part...
Marsh Posté le 30-05-2001 à 18:16:48
En fait c'est un scanner de ports.
Il scanne pleins de ports. Ca bloque pas la progress Bar, mais les boutons.
Je voudrais faire un bouton annuler pour arrêter de scanner les ports. C pas vraiment une boucle infinie. C'est une boucle très longue.
Marsh Posté le 30-05-2001 à 18:19:31
la commende break; marche je crois.... en tout ca ca marche en VB c++/c javascript....
Marsh Posté le 30-05-2001 à 18:22:16
ANTSite a écrit a écrit : En fait c'est un scanner de ports. Il scanne pleins de ports. Ca bloque pas la progress Bar, mais les boutons. Je voudrais faire un bouton annuler pour arrêter de scanner les ports. C pas vraiment une boucle infinie. C'est une boucle très longue. |
ben c'est là que tu vas avoir besoin d'un thread supplémentaire.
Si le process est trés long et que c'est une appli mono-thread, tu vas perdre l'interactivité...
Marsh Posté le 30-05-2001 à 18:25:02
Peut-on m'expliquer comment mettre en place deux thread ?
Est-ce difficile ?
Marsh Posté le 30-05-2001 à 18:33:10
merde...
deux possibilités :
Marsh Posté le 30-05-2001 à 19:16:50
J'ai le MSDN Libray de VC++6.0 et je ne vois pas d'autre manière de faire de thread avec autre chose que CWinApp. Mais je ne connais pas bien ce sujet, je cherche peut-être au mauvais endroit.
Marsh Posté le 30-05-2001 à 20:19:20
Je pensse que je dois utiliser _beginthread, mais lorsque j'éxécute mon programme, erreur survient quand je clique sur le bouton qui déclenche.
Marsh Posté le 31-05-2001 à 11:40:27
dans la hierarchie des classes de VC++, y'en a pas une qui crée un thread annexe ?
Sont pas doués chez microsoft....
Marsh Posté le 31-05-2001 à 14:36:12
pour arreter une boucle on fait ctrl+pause sous windoze,non?
Marsh Posté le 30-05-2001 à 17:26:48
Comment arrêter une boucle infinie accaparant toute la mémoire
en cliquant sur un Bouton genre "Annuler"