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 :

Question sur un thread [WD14]


Sujet :

WinDev

  1. #1
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    953
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 953
    Points : 766
    Points
    766
    Par défaut Question sur un thread
    Bonjour à Tous,

    Je fais fonctionner le code ci-dessous dans un thread par la commande suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ThreadExécute("monthread",threadNormal,"Controle_Ping")
    Et mon threadarrête se trouve dans le code de fermeture de la fenêtre.

    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
    27
    28
    29
    // Résumé : PROCEDURE DE CONTROLE PAR PING SEQUENCEE// Procédure automatique :
    // La procédure est exécutée manuellement, lors d'un appel dans le code
    // Elle sera répétée en boucle, en attendant 30 secondes entre chaque appel
    // Un nouveau timer est créé pour chaque appel à la procédure
     
    PROCEDURE Controle_Ping()
    Message("Ping des adresses IP en cours..............................")
    POUR TOUTE LIGNE DE TABLE_Machines
    	SI Ping(TABLE_Machines.IP) ALORS
    		TABLE_Machines.ETAT="Connecté"
     
    	SINON
     
    		TABLE_Machines.ETAT="Inactif"
     
    	FIN
    FIN	
    sBranche est une chaîne	
    i est un entier
    POUR i = 1 _A_ TableOccurrence(TABLE_Machines) 
    				SI TABLE_Machines.ETAT[i]="Inactif" ALORS
    					TABLE_Machines.ETAT[i]..Couleur=RougeClair
    					TABLE_Machines.COL_Machine[i]..Couleur=RougeClair
    					TABLE_Machines.COL_Utilisateur[i]..Couleur=RougeClair
    					TABLE_Machines.IP[i]..Couleur=RougeClair
    				FIN
     
    	Message("Pause..................")
    	FIN
    J'ai l'impression que la procédure ne fonctionne qu'une seule fois.
    Vu que le message reste constamment sur "Pause"

    Pourriez vous me guider svp

    Bonne journée et par avance merci
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  2. #2
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 329
    Points : 3 841
    Points
    3 841
    Par défaut
    Salut à toi,

    Le problème vient du fait que c'est la procédure qui est exécutée toutes les 30 secondes, or le thread, lui, est arrêté dés la fin de la première exécution de la procédure.

    Au lieu du ThreadExécute(..), tu mets uniquement le code d'appel de Controle_Ping().
    Ensuite, dans le paramétrage d'automatisme de la procédure, tu la fait s'exécuter en tâche de fond (thread).

  3. #3
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    953
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 953
    Points : 766
    Points
    766
    Par défaut
    Bonjour Lo²,

    Je comprends bien le problème.
    Mais c'est ce que je faisais, le souci est que durant le fonctionnement de la procédure (qui ping près de 200 adresses IP), l'application est bloquée.
    Or durant cette opération, l'administrateur réseau doit pouvoir effectuer divers opérations)

    Il y a il une autre possibilité
    Par avance merci
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  4. #4
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 329
    Points : 3 841
    Points
    3 841
    Par défaut
    As-tu vu au niveau du paramétrage de l'automatisme ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ensuite, dans le paramétrage d'automatisme de la procédure, tu la fait s'exécuter en tâche de fond (thread).
    Je viens de tester sur plusieurs adresses, et je garde la main sur l'appli.

  5. #5
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    953
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 953
    Points : 766
    Points
    766
    Par défaut
    Lo²,

    Je suis un âne, j'aurais dû mieux te lire

    En effet, je n'avais pas coché la case correspondante.
    Merci beaucoup pour ton aide

    Bonne après midi
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


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

Discussions similaires

  1. Question sur les threads
    Par thebloodyman dans le forum Concurrence et multi-thread
    Réponses: 3
    Dernier message: 22/01/2007, 07h28
  2. Questions sur les threads: généralités
    Par Gragra dans le forum C++
    Réponses: 9
    Dernier message: 04/11/2006, 16h28
  3. Quelques questions sur les threads
    Par benj63 dans le forum C++Builder
    Réponses: 28
    Dernier message: 21/11/2005, 13h27
  4. Question sur les threads
    Par Linio dans le forum Concurrence et multi-thread
    Réponses: 10
    Dernier message: 21/10/2005, 09h08
  5. Question sur les threads
    Par nicolas66 dans le forum MFC
    Réponses: 4
    Dernier message: 03/06/2005, 20h57

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