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

C# Discussion :

PC qui rame, fonctions exécutées plusieurs fois [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 166
    Par défaut PC qui rame, fonctions exécutées plusieurs fois
    Bonjour

    j'ai un problème sur une application pour le boulot :

    mon application est divisée en 2 parties (pour être exact 2 applications en une, avec un form MDI) :
    1- récupère des valeurs provenant d'un automate, les traite et les stocke dans une base de données SQLite
    2- permet l'exploitation des données de la base (filtres de recherche, affichage datagridview, courbes (avec ZedGraph), ...).

    rien d'exceptionnel en soi

    je suis sur un PC industriel mais qui n'est pas si performant qu'on nous l'a présenté, et on peut facilement le faire ramer

    mon problème est le suivant, il semblerait que lorsque je fais une recherche dans ma base et qu'en même temps j'ai l'événement qui permet l'enregistrement des valeurs de l'automate, le PC rame d'une part (mais encore si tout se passait bien, ça serait acceptable), mais surtout certaines de mes fonctions sont réalisées plusieurs.

    c'est comme si le programme était bloquait à un endroit où on appelle une fonction et que tant que le PC rame on restait sur cet appel ...

    j'ai essayé les threads mais si ça rame à l'endroit de l'appel du thread, hé ben ça le fait plusieurs fois aussi, mais en plus rapide ...

    comment faire pour éviter ce phénomène ?

    merci

    @++

    KaloOopS

  2. #2
    Membre Expert Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Par défaut
    Bonsoir,

    Pour éviter ce problème, il faut que tu éteignes et rallumes l'ordinateur...

    Plus sérieusement, sans code, on peut pas deviner grand chose...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 166
    Par défaut
    ben je veux bien donner mon code mais je ne sais pas quoi car si je donne tout vous allez perdre votre temps à essayer de le comprendre (ben vi je ne suis pas informaticien à la base alors que certainement au niveau structure et optimisation je ne suis pas au top ... .. )

    par ce post, je voulais savoir déjà si quelqu'un avait déjà eu ce genre de problème ...

    merci

    @++

    KaloOopS

  4. #4
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Quand sisq060 parlait de "code", il ne s'agissait de transmette tout le projet, mais de donner des indicatons (éventuellement de courts extraits de code) sur les procédures répétées et sur la façon dont elles sont déclenchées.

    Une première piste : vérifier que les events ne déclenchent pas les uns les autres.

    Par exemple, un event A peut faire une modification de l'IHM qui va déclencher un évenement B qui peut faire une modification d'IHM qui redéclenche A.
    Un tel comportement arrive assez souvent lorsque plusieurs control nteragissent. Dans l'exemple cidessus, il faudra par exemple désactiver l'event B lorsqu'on entre dans A et le rétablir à la sortie.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 166
    Par défaut
    merci Graf'

    j'essayerai de vous faire un résumé de mon application (je suis bien occupé en ce moment, naissance oblige .. )

    quand tu dis
    désactiver l'event B l
    je fais comme ici ? http://www.developpez.net/forums/d28...ment-controle/

    vais étudier cette piste

    merci

    @++

    KaloOopS

  6. #6
    Membre Expert Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Par défaut
    Bonjour,

    Tout d'abord félicitations...
    Si il s'agit d'être proactif, si tu utilises un backgroundworker pour tes threads vérifies que tu n'abonnes pas plusieurs fois la même fonction à ton événement DoWork.

    Par exemple, un event A peut faire une modification de l'IHM qui va déclencher un évenement B qui peut faire une modification d'IHM qui redéclenche A.
    Un tel comportement arrive assez souvent lorsque plusieurs control nteragissent. Dans l'exemple cidessus, il faudra par exemple désactiver l'event B lorsqu'on entre dans A et le rétablir à la sortie.
    Graffito, ce comportement est toujours suivi d'une StackOverflowException... Mais néanmoins il reste utile de le rappeler

    ben je veux bien donner mon code mais je ne sais pas quoi car si je donne tout vous allez perdre votre temps à essayer de le comprendre (ben vi je ne suis pas informaticien à la base alors que certainement au niveau structure et optimisation je ne suis pas au top ... .. )
    Nous ne sommes pas ici pour juger la qualité de ton code. Nous sommes là pour t'aider à résoudre ton problème. Si tu souhaites qu'on y arrive au plus vite, il faut nous donner toutes les informations que tu as en ta possession (Code, détail de l'erreur ou du comportement, j'en passe...)

    Bon dév.

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

Discussions similaires

  1. Fonction s'exécute plusieurs fois
    Par bigbob195 dans le forum jQuery
    Réponses: 4
    Dernier message: 13/12/2012, 23h09
  2. Fonction Ajax sur clique qui s'exécute plusieurs fois
    Par arthuro45 dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 21/03/2011, 10h58
  3. Réponses: 3
    Dernier message: 28/11/2007, 15h44
  4. Sous-requête excutée plusieurs fois dans une requête
    Par sheridan31 dans le forum Oracle
    Réponses: 8
    Dernier message: 03/07/2006, 16h18
  5. [MySQL] Pages qui s'ouvrent en plusieurs fois
    Par Death83 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 01/05/2006, 01h10

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