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 :
Et voici la fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part dayView1.ResolveAppointments += new Calendar.ResolveAppointmentsEventHandler(this.dayView1_ResolveAppointments);
Ce que j'ai écrit en C++ :
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; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part this->dayView1->ResolveAppointments += gcnew Calendar::ResolveAppointmentsEventHandler(this->dayView1_ResolveAppointments);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 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; }
Je galère vraimment sur le coup, est ce quelqu'un peut m'aider ? Merci
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é ==========
Partager