01. marts 2006 - 08:48
Der er
10 kommentarer og 1 løsning
Casting mellem typer
Hej! Jeg har følgende kode BEGIN_MESSAGE_MAP( CSendDialog, CDialog ) ON_MESSAGE(WM_APP+1, OnSenderMessage) END_MESSAGE_MAP() min OnSenderMessage ser således ud afx_msg void CSendDialog::OnSenderMessage(WPARAM port) { pSerial->stopSending(); } men jeg får følgende fejl i Message map error C2440: 'static_cast' : cannot convert from 'void (__thiscall CSendDialog::* )(WPARAM)' to 'LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)' hvordan caster jeg mig ud af denne fejl
Annonceindlæg fra Infor
01. marts 2006 - 09:24
#1
Hmm, prøv følgende: afx_msg void CSendDialog::OnSenderMessage(WPARAM port, LPARAM unused) { pSerial->stopSending(); }
01. marts 2006 - 09:34
#2
Den brokker sig stadig! er der forskel på unused og UNUSED
01. marts 2006 - 09:35
#3
det er bare et navn til argumentet, du kunne skrive keld eller bent uden det gør en forskel...
01. marts 2006 - 09:36
#4
der skal ikke stå "afx_msg" foran i implementation, det er kun i erklæringen (.h filen)
01. marts 2006 - 09:36
#5
ja okay, men UNUSED er en defineret variable! men det gør ingen forskel, men fejlen er den samme
01. marts 2006 - 09:37
#6
Projektet har virket under VC++ 6.0, men ikke under VC++ 7.1
01. marts 2006 - 09:40
#7
LRESULT CSendDialog::OnSenderMessage(WPARAM port, LPARAM) { pSerial->stopSending(); }
01. marts 2006 - 09:41
#8
hvad skal den så returnere ?????
01. marts 2006 - 09:43
#9
Se min sidste kommentar...
01. marts 2006 - 09:44
#10
ja, men den vil gerne have at jeg laver en Return return pSerial->StopSending(), fungere så send et svar
01. marts 2006 - 09:52
#11
svar...
Kurser inden for grundlæggende programmering