[C++] Suspendre une boucle infinie

Suspendre une boucle infinie [C++] - Programmation

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"

Reply

Marsh Posté le 30-05-2001 à 17:26:48   

Reply

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?

Reply

Marsh Posté le 30-05-2001 à 17:37:16    

sous Unix: un petit ps puis kill
sous windows : CTRL + ALT + DEL


---------------
Je ne suis ni pour, ni contre, bien au contraire  
Reply

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...

Reply

Marsh Posté le 30-05-2001 à 17:58:27    

eh l'autre !!! n'importe koi !!! et les portables alors ?
hein ? hein ? comment in fait ? ;)


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

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....

Reply

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 !

Reply

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...

Reply

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.

Reply

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....


---------------
Do you serve a purpose,Or purposely serve?
Reply

Marsh Posté le 30-05-2001 à 18:19:31   

Reply

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é...

Reply

Marsh Posté le 30-05-2001 à 18:25:02    

Peut-on m'expliquer comment mettre en place deux thread ?
Est-ce difficile ?

Reply

Marsh Posté le 30-05-2001 à 18:26:44    

heu... tu utilise quoi VC++, Builder ?

Reply

Marsh Posté le 30-05-2001 à 18:29:11    

J'utilise Visual C++ 5

Reply

Marsh Posté le 30-05-2001 à 18:33:10    

merde...
 
deux possibilités :  

  • µ$ a eu comme borland la bonne idée de créer une classe toute faite dans laquelle il te suffit de mettre ton bout de code (à toi ou qq1 qui connait VC++ de me le dire...)
  • tu passes pas les fonction de l'API win32... (mais c'est moins direct....)

Reply

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.

Reply

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.

Reply

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....

Reply

Marsh Posté le 31-05-2001 à 14:36:12    

pour arreter une boucle on fait ctrl+pause sous windoze,non?


---------------
-Hassan Cehef --> C'est possible -Roberttripoux --> Les bons comptes font les bons amis
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed