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 :

Traitement lourd et Evenement


Sujet :

C#

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 41
    Par défaut Traitement lourd et Evenement
    Bonjour,
    Je cherche depuis une winform à lancer une méthode qui effectue traitement lourd, traitement qui dure plusieures heures.
    La contrainte est que je souhaiterais que cette méthode informe ma winform à chacune des étapes qu'elle effectue. Pour que la winform puisse affiche chaque changement.
    La winform et la méthode sont sur la même meme machine.
    Avez vous des pistes en c# pour le faire, car je ne vois pas comment faire ?
    J'ai pensé aux évenements, c'est à dire que le méthode en question envoie à chaque étape des évenements à la winform , mais je ne vois pas comment faire ?

    Merci de votre aide

  2. #2
    Membre éprouvé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 76
    Par défaut
    Bonjour,

    As tu pensé à mettre en place un pattern Observateur?

    Tu as une classe qui effectue le traitement et qui implémente une methode (sous forme de délégué) à laquelle ta winform vient s'abonner.

    A intervalle régulier ta classe de traitement utilise la methode pour notifier les observateur.

    Voici un lien sur un podcast qui présente sommairement le pattern
    http://dimecasts.net/Content/WatchEpisode/108

  3. #3
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    et parce que les patterns, s'est pas du code

    JE te propose une solution plus concrete... (désolé, j'ai rien contre les patterns, mais pour moi, une solution se résumant à l'utilisation d'une pattern tient plus de la personne qui connait toutes les patterns du monde sans savoir les coder qu'autre chose.. débat clos)

    Solution :
    Un Thread qui lève des evenements...
    Et de l'autre coté, suffit d'être abonné... en gérant bien le CrossThread avec le InvokeRequired (voir les exemples sur le msdn)...

    Après, c'est quelque chose de simple à faire et 10 lignes de codes à peine devrait suffire

    Désolé, je prends l'avion dans 5 minutes, donc, je ne peux pas te coder un petit exemple, sinon, je l'aurais surement fait !!!

  4. #4
    Membre éprouvé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 76
    Par défaut
    Citation Envoyé par theMonz31 Voir le message
    et parce que les patterns, s'est pas du code
    Ah oui, mais mon lien pointe sur une vidéo qui montre comment implémenter en pratique le pattern sur un exemple simple. Ça compte ça

  5. #5
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    oui ça compte

    Désolé, j'suis dans un aéroport grec, il fait 200° et en plus, j'suis meme pas sur de pouvoir rentrer à Toulouse ce soir à cause de greve de controleur qui vont me faire rater mes correspondances

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par phertzog Voir le message
    Bonjour,

    As tu pensé à mettre en place un pattern Observateur?
    Désolé, mais je trouve un peu comique de suggérer en .Net d'utiliser l'implémentation d'un pattern Observer, alors qu'il en existe une implémentation est native. (via les event).


    Tu as une classe qui effectue le traitement et qui implémente une methode (sous forme de délégué) à laquelle ta winform vient s'abonner.

    A intervalle régulier ta classe de traitement utilise la methode pour notifier les observateur.
    C'est surement très bien en Java, mais en .Net c'est un peu réinventer l'eau chaude.

  7. #7
    Membre éprouvé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 76
    Par défaut
    Citation Envoyé par theMonz31 Voir le message
    et parce que les patterns, s'est pas du code
    Citation Envoyé par Bluedeep Voir le message
    Désolé, mais je trouve un peu comique de suggérer en .Net d'utiliser l'implémentation d'un pattern Observer, alors qu'il en existe une implémentation est native. (via les event).

    C'est surement très bien en Java, mais en .Net c'est un peu réinventer l'eau chaude.
    Je suis d'accord. Utiliser les events est la meilleure solution.

Discussions similaires

  1. problème d'affichage dû à un traitement lourd
    Par lastrecrue dans le forum Débuter
    Réponses: 8
    Dernier message: 27/11/2008, 00h32
  2. [Thread] Traitement lourd a intervale régulier
    Par anthyme dans le forum Silverlight
    Réponses: 7
    Dernier message: 03/05/2008, 20h34
  3. [JAVA & XML] Fichiers + Traitements lourds, des conseils pour l'API ?
    Par Orus dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 30/10/2007, 17h38
  4. Exécuter un traitement lourd
    Par falcon dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 02/10/2007, 16h15
  5. [C++/VB.Net]Optimiser des traitements lourds
    Par NiamorH dans le forum Windows Forms
    Réponses: 8
    Dernier message: 28/05/2006, 11h03

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