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++/CLI Discussion :

Mettre � jour mon interface durant de longs calculs


Sujet :

C++/CLI

  1. #1
    Membre �clair� Avatar de Rodrigue
    Inscrit en
    Ao�t 2002
    Messages
    487
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2002
    Messages : 487
    Par d�faut Mettre � jour mon interface durant de longs calculs
    Bonjour,

    De mani�re g�n�rale, comment est-il possible de mettre � jour l'interface d'un logiciel et ce lors d'un calcul lourd de celui-ci? Je m'explique:

    Lors d'une longue proc�dure, j'appelle plusieurs fonctions qui changent les valeurs de certains de mes composants... Le probl�me est que mon processeur est tellement occup� que ceux-ci ne se mettent pas � jour. J'ai alors opt� pour un composant->Update (car Invalidate n'a pas l'air de fonctionner...).

    Je suppose qu'il doit exister un autre moyen via des Invokes notamment...

    Merci!

  2. #2
    Membre �clair�
    Inscrit en
    D�cembre 2005
    Messages
    391
    D�tails du profil
    Informations personnelles :
    �ge : 50

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 391
    Par d�faut
    il faut que tu lance ton traitement dans un thread
    et tu utilises des delegate pour mettre a jour ton appli

  3. #3
    Membre �prouv�
    Avatar de _skip
    Homme Profil pro
    D�veloppeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activit� : D�veloppeur d'applications
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par d�faut
    Sinon tu peux forcer une form � se redessiner en appelant une de ses m�thodes dont je me souviens pas le nom de t�te.
    Mais en r�gle g�n�ral, c'est bien de faire les gros traitements dans des threads � part.

  4. #4
    R�dacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par d�faut
    Citation Envoy� par _skip Voir le message
    Sinon tu peux forcer une form � se redessiner en appelant une de ses m�thodes dont je me souviens pas le nom de t�te.
    Application.DoEvents()

    Mais en effet, il est conseill� de passer par un Thread � part (ou un BackgroundWorker)

  5. #5
    Membre �clair� Avatar de Rodrigue
    Inscrit en
    Ao�t 2002
    Messages
    487
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2002
    Messages : 487
    Par d�faut
    Je mets d�j� mon interface � jour via des "delegate" mais si j'appelle ceux-ci depuis un thread, il va falloir que je fasse des MethodInvoker etc. En csharp, c'est facile de faire un:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    ... new MethodInvoker(delegate { mafonction(params..);});
    Mais en C++/CLI, � ma connaissance, il n'existe pas de forme �quivalente � .

    Pour que mon application soit threadsafe, il faudrait que dans chacune des fonctions o� je mets des composants de mon interface � jour, je fasse un test sur InvokeRequired? C'est quand m�me lourd...

  6. #6
    R�dacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par d�faut
    Tu aurais du pr�cis� (ou poster dans le bon forum) que tu es en C++/CLI


    Je d�place

  7. #7
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    Thomas, c'est pas le bon forum

    tu peux regarder dans la faq C++/CLI http://dotnet.developpez.com/faq/cpp...trolFromThread

  8. #8
    Membre �clair� Avatar de Rodrigue
    Inscrit en
    Ao�t 2002
    Messages
    487
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2002
    Messages : 487
    Par d�faut
    Merci, je vais aller voir

Discussions similaires

  1. [AC-2003] Impossible de mettre � jour mon mdw
    Par minot83 dans le forum S�curit�
    R�ponses: 1
    Dernier message: 07/04/2011, 11h03
  2. Comment mettre � jour mon Gridview
    Par bipbip2006 dans le forum ASP.NET
    R�ponses: 16
    Dernier message: 20/09/2010, 16h50
  3. R�ponses: 3
    Dernier message: 17/04/2010, 14h56
  4. Mettre � jour mon modalPopupExtender
    Par processus dans le forum ASP.NET
    R�ponses: 1
    Dernier message: 02/03/2010, 12h42
  5. R�ponses: 11
    Dernier message: 11/10/2009, 05h23

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