Ereignis manuell einer Methode zuweisen
-
Hallo!
Bei einem bestimmte Ereignis soll eine Methode ausgeführt werden. Bei dem OnClick-Event klappt das wunderbar.
pMonthCalendar->OnClick = MonthCalendarClick; pMonthCalendar->OnGetMonthInfo = MonthCalendarGetMonthInfo;
Beim OnGetMonthInfo bekomm ich beim kompilieren folgende Fehlermeldung:
[C++ Fehler] dgo_ee.cpp(443): E2034 Konvertierung von 'void (_fastcall * (_closure )(TObject *,unsigned long,unsigned long &))(TObject *,unsigned long,unsigned long &)' nach 'void (_fastcall * (_closure )(TObject *,unsigned int,unsigned int &))(TObject *,unsigned int,unsigned int &)' nicht möglich
In der Header-Datei habe ich unter private folgendes
void __fastcall MonthCalendarGetMonthInfo(TObject *Sender, DWORD Month, DWORD &MonthBoldInfo);
-
Enrico Stahn schrieb:
[C++ Fehler] dgo_ee.cpp(443): E2034 Konvertierung von 'void (_fastcall * (_closure )(TObject *,unsigned long,unsigned long &))(TObject *,unsigned long,unsigned long &)' nach 'void (_fastcall * (_closure )(TObject *,unsigned int,unsigned int &))(TObject *,unsigned int,unsigned int &)' nicht möglich
Hast du bei den Parametern versehentlich unsigned long statt unsigned int genommen?
-
void __fastcall Tdgoee::MonthCalendarGetMonthInfo(TObject *Sender, DWORD Month, DWORD &MonthBoldInfo) { // ... }
Meine Methode in der CPP-Datei sieht so aus, oder was meinst Du?
-
Probier mal
void __fastcall Tdgoee::MonthCalendarGetMonthInfo(TObject *Sender, unsigned int Month, unsigned int &MonthBoldInfo) { // ... }
EDIT: int vergessen.
-
Super, funktioniert. Danke.
Bleibt nur noch die Frage warum die IDE Methoden mit DWORD erstellt und das dann auch funktioniert?Enrico