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 :

[TTHREAD] ne termine pas sont exécution


Sujet :

Langage Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2002
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 11
    Points : 7
    Points
    7
    Par défaut [TTHREAD] ne termine pas sont exécution
    J'ai une appli qui instancie un objet, cet objet créer un thread.
    Lorsque que je ferme mon appli le thread est détruit quelque soit son état.
    J'aimerai bien qu'il se termine dans son coin indépendamment du reste

  2. #2
    Membre régulier
    Inscrit en
    Mars 2002
    Messages
    240
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 240
    Points : 102
    Points
    102
    Par défaut
    lors de la fermeture de l'appli. tu pourrais tester si le thread en question est terminé, non ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2002
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Ben j'ai fait ça mais ça freeze mon prog

    Destructor C_DocInterne.Destroy;
    Begin
    if Thread <> nil then
    begin
    Thread.Priority := tpHigher;
    repeat
    until Thread = nil
    end;
    inherited destroy;
    end;

  4. #4
    Membre régulier
    Inscrit en
    Mars 2002
    Messages
    240
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 240
    Points : 102
    Points
    102
    Par défaut
    je ne suis pas un expert en thread mais je peux te filer l'adresse suivante:
    http://www.pergolesi.demon.co.uk/prog/threads/ToC.html
    peux-etre que tu connais déja ...
    il y a plein d'explications avec schémas et exemples sur les threads.
    c'est bien fait ( mais c'est en anglais bien sûr ! )

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

    Informations forums :
    Inscription : Juillet 2002
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Arret de thread
    Pour arreter un thread il faut placer un test dans la boucle du thread :
    Procedure ThreadEssai.Execute ; // boucle du trhead
    begin
    while not terminated do
    begin
    .......
    end;
    end;

    Lorsque l'on veut arreter le thread on appele la méthode terminate
    de l'objet thread :
    .......
    var : objThread : ThreadEssai ;
    begin
    ........
    objTread.terminate ; // demande d'arret du thread
    ........
    end;

    Cependant ceci arrete le thread et la variable thread se détruit mais
    elle ne contient pas nil pour autant comme d'hab. sous Delphi

    Pour detecter son arret il existe l'évenement onTerminate
    Cordialement
    AG

Discussions similaires

  1. Terminate() qui ne terminate pas
    Par kurkaine dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2006, 21h05
  2. Réponses: 2
    Dernier message: 16/05/2006, 17h53
  3. Frame et terminal pas d'accord....
    Par superjoe dans le forum 2D
    Réponses: 3
    Dernier message: 23/03/2006, 15h30
  4. [AJAX] Ma fonction ne se termine pas...
    Par Davboc dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 08/03/2006, 12h05
  5. [débutant]pas d'exécution
    Par Chance666 dans le forum MFC
    Réponses: 5
    Dernier message: 15/01/2004, 11h32

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