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 :

comment utiliser methodInvoker en c++ cli?


Sujet :

C++/CLI

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Expert sécurité informatique
    Inscrit en
    Novembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Expert sécurité informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2011
    Messages : 21
    Points : 22
    Points
    22
    Par défaut comment utiliser methodInvoker en c++ cli?
    Bonjour, j'ai ce code en c# qui est correcte

    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
    private void HandleFarmStateChanged(object sender, ValueChangedEventArgs<CFarm.FarmState> e)
            {
                if (control.InvokeRequired)
                {
                    control.Invoke(new MethodInvoker(delegate
                    {
                        HandleFarmStateChanged(sender, e);
                    }));
                    return;
                }
     
               //FarmStateStatusLabel.Text = e.NewValue.ToString();
                Console.WriteLine(e.NewValue.ToString());
                Console.WriteLine("       ");
            }
    mais je le veux en c++ cli et c'est ce que j'ai essayé

    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
    void GetNotifications::HandleFarmStateChanged(Object ^sender, ValueChangedEventArgs<CFarm::FarmState> ^e)
    {
    	if (control->InvokeRequired)
                {
    				control->Invoke(
        gcnew System::Windows::Forms::MethodInvoker(
            this,
    		&GetNotifications::HandleFarmStateChanged
        )
    );
                    return;
                }
     
    	Console::WriteLine(e->NewValue.ToString());
    	Console::WriteLine("       ");
    }
    et pourtant j'ai toujour cette erreur
    "Error 1 error C3352: 'void GetNotifications::HandleFarmStateChanged(System::Object ^,BaseLibCS::ValueChangedEventArgs<T> ^)' : the specified function does not match the delegate type 'void (void)'"

    Merci d'avance
    Modifier

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 195
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 195
    Points : 17 163
    Points
    17 163
    Par défaut
    C'est assez simple, void HandleFarmStateChanged(Object^,ValueChangedEventArgs<T>^) n'est pas une void f(void)Il "suffit" de creer une fonction sans arguments, qui fournit les arguments requis.

    Pour les détails, je ne connais ni C# ni C++/CLI

    ce que tu fais ressemble (d'après le message d'erreur) à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void myListener(int, int);
    void registerListener( void *(void) );
    //...
    {
        registerListener(myListener);
    }

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 170
    Points : 12 291
    Points
    12 291

Discussions similaires

  1. Comment utiliser du C++/CLI dans du VB.Net ?
    Par onur dans le forum C++/CLI
    Réponses: 3
    Dernier message: 19/10/2006, 11h42
  2. [C++/CLI] Comment utiliser XmlDocument?
    Par ben_ghost dans le forum C++/CLI
    Réponses: 7
    Dernier message: 06/08/2006, 21h34
  3. Comment utiliser HttpUtility.HtmlDecode() en c++/cli ?
    Par boudreau_benjamin dans le forum C++/CLI
    Réponses: 1
    Dernier message: 20/05/2006, 07h58
  4. Comment utiliser OUT ?
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 3
    Dernier message: 20/07/2002, 09h35
  5. Réponses: 5
    Dernier message: 11/06/2002, 15h21

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