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 :

Thread et Timer


Sujet :

Langage Delphi

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Août 2003
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 207
    Points : 91
    Points
    91
    Par défaut Thread et Timer
    Bonjour à tous,

    Dans une application Delphi7, j'ai formulaire de saisie et Je dois interroger toutes les 3 secondes une DLL pour vérifier si il y a des données à récupérer. J'ai donc placé un timer qui fait cette opération.

    Le problème c'est que le timer empêche l'utilisateur de faire les autres saisies.
    Je pense qu'il faut que j'utilise un thread mais je ne l'ai jamais fait.

    Quelqu'un peut il m'aider ou me donner un exemple de code pour mettre mon timer dans un thread ?

    Merci d'avance,
    Wilco

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 522
    Points : 25 052
    Points
    25 052
    Par défaut
    Il faut simplement créer une nouvelle classe de Thread, en D7, un truc genre Fichier|Nouveau|Classe Thread

    Dans le Execute, globalement, c'est le code du Timer, ensuite faut juster séparer la manipulation de la fenêtre et le thread
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre régulier

    Profil pro
    Inscrit en
    Août 2003
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 207
    Points : 91
    Points
    91
    Par défaut Thread Timer
    Bonsoir et merci ShaiLeTroll,

    Aurais tu un exemple de code ?

    Merci d'avance,
    Wilco

  4. #4
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Salut

    J'en ai un sous la main la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    type
      TMonThread = class(TThread)
      protected
        procedure Execute; override;
      end;
     
    ...
     
    procedure TMonThread.Execute;
    begin
      while not(Terminated) do
        //Action a faire
      end;
    end;
    Voila. Tu crées la classe TMonThread, et tu surcharge la procedure Execute.

  5. #5
    Membre éclairé Avatar de peter27x
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 029
    Points : 757
    Points
    757
    Par défaut
    Salut,

    je comprends pas trop pourquoi le timer empêche l'utilisateur de saisir dans le formulaire ?

    Car un timer rend la main pdt qu'il tourne normalement.

    C'est bien un timer TTImer ? Ou bien un timer maison genre sleep(3000) ? (qui lui bloquerait l'utilisateur effectivement).

Discussions similaires

  1. threads vs timer ?
    Par unluckymannn dans le forum Qt
    Réponses: 12
    Dernier message: 14/05/2007, 11h05
  2. thread ou timer ou ?
    Par ziz2005 dans le forum MFC
    Réponses: 2
    Dernier message: 19/11/2006, 09h54
  3. [swing] Probleme de thread avec Timer
    Par issou dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 13/05/2006, 22h52
  4. [MFC] Thread et timer
    Par r0d dans le forum MFC
    Réponses: 2
    Dernier message: 18/04/2005, 13h03
  5. Module Threading, utilisation timer(x,y) .
    Par aladin46 dans le forum Général Python
    Réponses: 3
    Dernier message: 02/01/2005, 18h55

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