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

Delphi Discussion :

[Threads] Plusieurs "Execute"


Sujet :

Delphi

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 207
    Par défaut [Threads] Plusieurs "Execute"
    Bonjour,

    J'ai une question toute simple: comment faire pour que toutes les procédures d'une unité soient exécutées dans un thread?

    En effet, si j'ai bien compris, seule la procédure "execute" d'un thread permet de lancer un traitement. Or, j'ai une unité disposant de plusieurs procédures différentes. Donc en toute logique, il me faudrait plusieur 'execute", mais comment faire?

    J'avoue que je ne suis pas motivé à utiliser seulement execute puis conditionner mes différents appels aux procédures...

    Pour détailler un peu plus, je suis actuellement sur un projet composé de la manière suivante:
    - Une unité principale, avec ma fiche de présentation
    - Une unité "Browser", disposant de commandes de navigation (formatage des URL, test du contenu récupéré, puis appel des fonctions de traitement du contenu situé sur une autre unité
    - Une unité de traitement
    - Une unité graphique etc...

    Bref, pour simplifier, l'application fonctionne comme ça:
    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
     
     
    +------------------+
    | Fiche principale |
    +------------------+
             |
    Sur événement (bouton, menu), appel des fonction de récupération de données
             |                                         |
    +----------------+                         +---------------+
    | Unité browser  | (utilise Indy)          | Configuration |
    +----------------+                         +---------------+
             |
    Traitement des données
             |
    +---------------------+
    | Unité de traitement | (Récupération de données)
    +---------------------+
             |
    +---------------------+
    | Unité de sauvegarde | (Enregistrement dans des TRecords, svg sur disque dur)
    +---------------------+
             |
    +----------------------+
    | Unité pour affichage | (Mise à jour de la fiche principale)
    +----------------------+
    Le truc, c'est que l'unité de récupération des données prends pas mal de temps à l'exécution. Du coup, si à partir de ma fiche principale, j'appelle la fiche de configuration, ça met un certain temps à s'exécuter.

    Je voudrait donc exécuter les opérations de récupération de données dans un thread à part.

    Cela ne devrait - à priori - ne pas poser trop de problèmes vu que l'application est conçue sur le modèle d'application n-tiers, donc les données ne transites que d'une couche à l'autre.

    Par contre, en regardant la mise en oeuvre des threads dans la FAQ, cela me semble un peu compliqué...

    Je voudrais donc savoir comment faire au plus simple, à savoir:

    Mon unité browser dispose de plusieur procédures:
    - Navigation_Page_1
    - Navigation_Page_2
    - Navigation_Page_3
    - ...

    Je voudrais que l'appel à quelque procédure que ce soit de cette fiche, celle-ci s'exécute dans un thread différent de l'application principale (donc soit toutes les procédures dans un seul thread (les procédures ne sont pas appelée en même temps), soit dans des threads différents.)

    Merci

  2. #2
    Membre éclairé
    Avatar de jmjmjm
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 760
    Par défaut
    Désolé mais je ne vois pas ou est ton probleme qu'elle est ta question, car la tu nous explique seulement ce que tu veux faire !!

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 207
    Par défaut
    Citation Envoyé par jmjmjm
    Désolé mais je ne vois pas ou est ton probleme qu'elle est ta question, car la tu nous explique seulement ce que tu veux faire !!
    Désolé, j'avais cliqué sur le bouton 'poster' au lieu de 'prévisualisation'!

    Le sujet est complet maintenant!

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 207
    Par défaut
    Personne n'utilise de thread pour exécuter différentes procédures/fonctions?
    Vous créez à chaque fois un niuveau thread?

Discussions similaires

  1. Thread: proposer plusieurs méthodes execute?
    Par Gaadek dans le forum Delphi
    Réponses: 6
    Dernier message: 15/03/2007, 23h16

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