Op woensdag 09 januari 2002 15:46 schreef Zotty het volgende:
Hoe is dit aan de praat te krijgen onder C++ Builder 3?
code:
1
| return CallWindowProc(lpWndProcOld, hwnd, message, wParam, lParam); |
Dit staat aan het eind van WndProc() en C++ Builder geeft de volgende error:
Cannot convert 'void *' to 'int (__stdcall *())'
Ik vraag me af of je weet wat dit betekent?
Ergens is er een void* die geconverteerd moet worden van void* naar int (*()). Dat zou het return type kunnen zijn
van CallWindowProc, maar dat denk ik niet. Ik vermoed dat de (void*) je variabele lpWndProcOld is. Het eerste argument van CallWindowProc is namelijk een int(*()).
Casten is niet de goede oplossing denk ik. Hoe kom je aan lpWndProcOld? Gaf die interface je ook al een void*? Of had je daar een int(*())? Het probleem met casten is dat het problemen verbergt.
Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein