IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

j'arrive pas a arreter mon thread d'arriere-plan


Sujet :

Langage Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2002
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 24
    Points : 29
    Points
    29
    Par défaut j'arrive pas a arreter mon thread d'arriere-plan
    J'ai utilise l'evenement OnIdle de TApplication pour lancer une procedure d'arriere-plan mais je n'arrive pas a l'arreter car elle se lance tout le temps et moi je voudrais qu'elle ne se lance qu'une fois.
    Comment faire ????

    Merci pour tout.

  2. #2
    Membre habitué Avatar de gord's
    Inscrit en
    Avril 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 115
    Points : 127
    Points
    127
    Par défaut
    si tu ne nous donne pas + de détails, ça ne va pas être facile de t'aider.
    Que fait cette tache, comment est-elle codée ?
    La prochaine révolution informatique : les machines qui font ce qu'on veut, au lieu de faire ce qu'on leur demande...
    Grand Vizir du Grand Gourou - Trois-quart aile gauche du TRFC et intendant de 3ème mi-temps - Papy fait de la résistance

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 61
    Points : 63
    Points
    63
    Par défaut
    Bonjour,

    Voici une Solution simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
     
    const
         Go: Boolean = True; // Variable initialisée
     
    procedure TForm1.FormCreate(Sender: TObject) 
    begin 
       ... 
       Application.OnIdle:= MyIdleHandler; 
       ... 
    end; 
     
    procedure TForm1.MyIdleHandler(Sender: TObject; var Done: Boolean) 
    begin 
          if Go then 
          begin
               ExecuteTask; 
               Go:= False;
          end; 
          ....
    end;
     
    procedure TForm1.ExecuteTask 
    begin 
       .... 
    end;
    Cordialement Laurent
    C++ BUILDER & DELPHI

  4. #4
    Membre averti Avatar de chtiot
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 385
    Points : 403
    Points
    403
    Par défaut
    salut laurent,


    Pb dans ton source : tu déclares Go comme une constante et tu modifies ensuite la valeur pour la mettre à False, il me semble que modifier la valeur d'une constante entraine une exception...

    Go doit être une variable.

  5. #5
    Membre habitué Avatar de gord's
    Inscrit en
    Avril 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 115
    Points : 127
    Points
    127
    Par défaut
    bienvenus au club des Grosses ruses Delphi : une constante typée est traitée vomme une variable par le compilo.
    La prochaine révolution informatique : les machines qui font ce qu'on veut, au lieu de faire ce qu'on leur demande...
    Grand Vizir du Grand Gourou - Trois-quart aile gauche du TRFC et intendant de 3ème mi-temps - Papy fait de la résistance

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 61
    Points : 63
    Points
    63
    Par défaut
    En effet, Go est déclarée avec Const, mais dans ce cas, ce n'est pas une vrai constante, mais une variable initialisée !
    Par conséquent, tu peut modifiée sa valeur.

    Ceci est l'équivalent d'une variable C++ déclarée static

    Bonne continuation

    Laurent
    C++ BUILDER & DELPHI

  7. #7
    Membre averti Avatar de chtiot
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 385
    Points : 403
    Points
    403
    Par défaut
    j'ai appris quelque chose de nouveau.

    merci les gars.

    quoiqu'il en soit, ça va à l'encontre de toute logique mais ça peut etre bien pratique pour initialiser la variable directement lors de sa déclaration...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gros soucis avec mon onclick. Je n'arrive pas à l'associer à mon élément
    Par takinelinfo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/07/2008, 11h34
  2. j'arrive pas a compiler mon projet web
    Par a_tewfik dans le forum Débuter
    Réponses: 5
    Dernier message: 27/03/2008, 15h43
  3. Réponses: 2
    Dernier message: 18/06/2007, 15h11
  4. J'arrive pas à acceder sur mon routeur (linksys)
    Par jabs dans le forum Hardware
    Réponses: 9
    Dernier message: 25/04/2007, 10h12
  5. Réponses: 4
    Dernier message: 06/07/2006, 17h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo