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

WinDev Discussion :

Threadattendsignal - Comment l'utiliser ?


Sujet :

WinDev

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    425
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 425
    Points : 129
    Points
    129
    Par défaut Threadattendsignal - Comment l'utiliser ?
    Bonjour,

    C'est con, mais je ne m'en sort pas spécialement avec les signaux dans les threads ? Même on revoyant les exemples, rien n'y fait

    Voici ce que je veux faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Evénement("PDFdansPDF","*.*","lance")
     
    ThreadExécute("1",threadNormal,detectionfolderPDF)
     
    ThreadExécute("4",threadNormal,remoteatstartup)
    le "1" quand il détecte un nouveau fichier dans un folder X -> lance avec un evenement une procédure "PDFdansPDF"

    le "4" vérifie lors du démarrage de l'appli si des fichier sont stockés dans un folder Y. Il peut y avoir plusieurs fichiers. Chaque fichier est traité et finalement copié dans le folder X -> et donc détecté par "1"...

    Sauf que "4" doit attendre, entre chaque fichier, un signal de "PDFdansPDF", pour dire que "PDFdansPDF" a terminé et que 4 peux poursuivre avec le prochaine fichier.

    PDFdansPDF n'attends donc, je pense, aucun signal, mais dois juste en envoyer.

    Je ne m'en sors donc pas avec signalcrée, signalattends, etc...
    Ou dois-je les mettres ?

    Merci d'avance

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Bonjour,

    comme ça sans trop réfléchir, je dirais : signalattends dans le tread avec 4 avec envoi d'un signal à l'ouverture de l'appli (après création du thread bien sûr ...) et attente en fin de transfert d'un fichier, jusqu'à envoi du signal par le thread 1 en fin de traitement.
    Attention à l'ajout de fichier en cours de route alors que tout les fichiers sont déjà traités. De plus, si une erreur survient dans le thread 1 ne pas oublier d'envoyer le signal quand même au 4 !

    bon courage,

    Nicolas

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 303
    Points : 815
    Points
    815
    Par défaut
    Salut,

    Attention ! La fonction Evénement() concerne les messages Windows, donc n'a pas de rapport avec les signaux.

    Pour un cas "basique" avec 2 threads à synchroniser, et 1 seul type de signal pour la synchronisation, tu peux directement t'inspirer de la documentation.

    En clair: pour 1 seul signal à gérer, pas besoin de "nommer" et créer explicitement le signal.

    cf. "Gestion simple des signaux" dans "Synchroniser des threads à l'aide de signaux".
    http://doc.pcsoft.fr/fr-FR/?3077018

  4. #4
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 207
    Points : 9 208
    Points
    9 208
    Par défaut
    Encore plus simple ?

    Pourquoi ne pas lancer 4 à la fin de PDFdansPDF. Et 1 à la fin de 4 ? Voire même tout mettre dans une seule procédure...

    A vérifier que c'est réellement comme cela que fonctionne ton appli...
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/02/2005, 14h39
  2. [Optimisation] Comment bien utiliser le StringBuffer?
    Par mathieu dans le forum Langage
    Réponses: 4
    Dernier message: 17/05/2004, 14h22
  3. Comment bien utiliser ce forum ?
    Par Alcatîz dans le forum Pascal
    Réponses: 0
    Dernier message: 21/04/2004, 16h37
  4. [scrapbook] comment l'utiliser ?
    Par Didier 69 dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 16/04/2004, 17h28
  5. [INDY] -> IdIdentServer comment l'utiliser ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 9
    Dernier message: 06/08/2003, 16h00

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