[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:
dayView1.ResolveAppointments += new Calendar.ResolveAppointmentsEventHandler(this.dayView1_ResolveAppointments);
Et voici la fonction :
Code:
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:
this->dayView1->ResolveAppointments += gcnew Calendar::ResolveAppointmentsEventHandler(this->dayView1_ResolveAppointments);
Code:
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:
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