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

VC++ .NET Discussion :

[Dotnet C++]Composant Dayview


Sujet :

VC++ .NET

  1. #1
    Membre averti
    Inscrit en
    D�cembre 2005
    Messages
    20
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2005
    Messages : 20
    Par d�faut [Dotnet C++]Composant Dayview
    Bonjour a tous,

    Je continue de d�velopper mon application (en m�me temps j'apprends) et je suis une nouvelle fois bloquer dans l'utilisation d'un composant externe.

    J'ai r�cup�r� le composant dayview ( http://www.codeproject.com/cs/miscct...dardayview.asp ) avec son exemple en C# sauf que mon application est en C++. Je suis donc parti de l'exemple en C# et tenter de l'int�grer dans mon application.

    Je bloque sur le moment ou une fonction va faire afficher tous les �l�ment du calendrier. Apr�s la cr�ation d'un �l�ment je dois appeller ResolveAppointmentsEventHandler en C# �a donne :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
     dayView1.ResolveAppointments += new Calendar.ResolveAppointmentsEventHandler(this.dayView1_ResolveAppointments);
    Et voici la fonction :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            private void dayView1_ResolveAppointments(object sender, ResolveAppointmentsEventArgs args)
            {
                List<Appointment> m_Apps = new List<Appointment>();
     
                foreach (Appointment m_App in m_Appointments)
                    if ((m_App.StartDate >= args.StartDate) &&
                        (m_App.StartDate <= args.EndDate))
                        m_Apps.Add(m_App);
     
                args.Appointments = m_Apps;
            }
    Ce que j'ai �crit en C++ :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    this->dayView1->ResolveAppointments += gcnew Calendar::ResolveAppointmentsEventHandler(this->dayView1_ResolveAppointments);
    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
    private: void dayView1_ResolveAppointments(System::Object^ sender, Calendar::ResolveAppointmentsEventArgs^ args)
            {
     
                List<Appointment^> m_Apps = gcnew List<Appointment^>();
     
    			Appointment^ m_App = gcnew Appointment();
     
                for each (m_App in m_Appointments)
    			{
                    if ((m_App->StartDate >= args->StartDate) && (m_App->StartDate <= args->EndDate))
    					m_Apps.Add(m_App);
     
     
    			}
     
                args->Appointments = m_Apps;
            }
    Mais le compilateur me sort les erreurs suivantes :

    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
    ------ Début de la génération : Projet : EPLG, Configuration : Debug Win32 ------
    Compilation en cours...
    Tache_calendar.cpp
    c:\downloads\eplg\eplg\Tache_calendar.h(51) : error C3867: &'EPLG::Tache_calendar::dayView1_ResolveAppointments' : liste d'arguments manquante dans l'appel de fonction ; utilisez 'EPLG::Tache_calendar::dayView1_ResolveAppointments' pour créer un pointeur vers membre
    c:\downloads\eplg\eplg\Tache_calendar.h(51) : error C3350: 'Calendar::ResolveAppointmentsEventHandler' : un constructeur délégué attend 2 argument(s)
    c:\downloads\eplg\eplg\Tache_calendar.h(235) : error C2664: 'Calendar::ResolveAppointmentsEventArgs::Appointments::set' : impossible de convertir le paramètre 1 de 'System::Collections::Generic::List<T>' en 'System::Collections::Generic::List<T> ^'
            with
            [
                T=Calendar::Appointment ^
            ]
            Aucun opérateur de conversion défini par l'utilisateur disponible, ou
            Aucun opérateur de conversion définie par l'utilisateur disponible qui puisse effectuer cette conversion, ou l'opérateur ne peut pas être appelé
    EPLG.cpp
    c:\downloads\eplg\eplg\Tache_calendar.h(51) : error C3867: &'EPLG::Tache_calendar::dayView1_ResolveAppointments' : liste d'arguments manquante dans l'appel de fonction ; utilisez 'EPLG::Tache_calendar::dayView1_ResolveAppointments' pour créer un pointeur vers membre
    c:\downloads\eplg\eplg\Tache_calendar.h(51) : error C3350: 'Calendar::ResolveAppointmentsEventHandler' : un constructeur délégué attend 2 argument(s)
    c:\downloads\eplg\eplg\Tache_calendar.h(235) : error C2664: 'Calendar::ResolveAppointmentsEventArgs::Appointments::set' : impossible de convertir le paramètre 1 de 'System::Collections::Generic::List<T>' en 'System::Collections::Generic::List<T> ^'
            with
            [
                T=Calendar::Appointment ^
            ]
            Aucun opérateur de conversion défini par l'utilisateur disponible, ou
            Aucun opérateur de conversion définie par l'utilisateur disponible qui puisse effectuer cette conversion, ou l'opérateur ne peut pas être appelé
    Génération de code en cours...
    Le journal de génération a été enregistré à l'emplacement "file://c:\Downloads\EPLG\EPLG\Debug\BuildLog.htm"
    EPLG - 6 erreur(s), 0 avertissement(s)
    ========== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========
    Je gal�re vraimment sur le coup, est ce quelqu'un peut m'aider ? Merci

  2. #2
    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
    il te dit comment faire dans les erreurs ...

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    this->dayView1->ResolveAppointments += gcnew Calendar::ResolveAppointmentsEventHandler(this, &EPLG::dayView1_ResolveAppointments);

  3. #3
    Membre averti
    Inscrit en
    D�cembre 2005
    Messages
    20
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2005
    Messages : 20
    Par d�faut
    Comme d'habitude tu r�soud mon probl�me en 2 temps et 3 mouvements !

    J'avais aussi fait une petite erreur de synthaxe dans la fonction voici la 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
    16
    17
    private: void dayView1_ResolveAppointments(System::Object^ sender, Calendar::ResolveAppointmentsEventArgs^ args)
            {
     
                List<Appointment^>^ m_Apps = gcnew List<Appointment^>();
     
    			Appointment^ m_App = gcnew Appointment();
     
                for each (m_App in m_Appointments)
    			{
                    if ((m_App->StartDate >= args->StartDate) && (m_App->StartDate <= args->EndDate))
    					m_Apps->Add(m_App);
     
     
    			}
     
                args->Appointments = m_Apps;
            }
    Merci beaucoup faudrai que je te mette dans les remerciements du programme ;-)

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Topic des composants gratuits dotNET
    Par Louis-Guillaume Morand dans le forum Windows Forms
    R�ponses: 24
    Dernier message: 06/08/2018, 23h51
  2. Installer ses composants
    Par Geronimo dans le forum C++Builder
    R�ponses: 14
    Dernier message: 18/06/2002, 14h51
  3. Re-dimensionnement automatique de composants
    Par ludo_7 dans le forum C++Builder
    R�ponses: 10
    Dernier message: 16/05/2002, 16h35

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