제가 다른 델파이용 소스를 살펴보고 했는데
알수 없는 컴파일시 에러가 나서 다시 질문합니다.
내용은
header파일에
TFarProc FExtWndProc;
Pointer FOldWndProc;
선언 했고.
cpp파일 에서
FExtWndProc = MakeObjectInstance(ExtWndProc);
msg.Result = CallWindowProc(FOldWndProc, f->Handle, msg.Msg, msg.WParam, msg.LParam);
이 두개의 문장에서 에러가 발생합니다.
에러 내용은 아래와 같습니다.
[C++Error] UsefulForm.cpp(23): Cannot convert 'void (_fastcall * (_closure )(Messages::TMessage))(Messages::TMessage)' to 'void (_fastcall * (_closure )(Messages::TMessage &))(Messages::TMessage &)'.
[C++Error] UsefulForm.cpp(23): Type mismatch in parameter 'Method' in call to '_fastcall Forms::MakeObjectInstance(void (_fastcall * (_closure )(Messages::TMessage &))(Messages::TMessage &))'.
[C++Error] UsefulForm.cpp(36): Cannot convert 'void *' to 'int (__stdcall *)()'.
[C++Error] UsefulForm.cpp(36): Type mismatch in parameter 'lpPrevWndFunc' in call to '__stdcall CallWindowProcA(int (__stdcall *)(),void *,unsigned int,unsigned int,long)'.
어떻게 고쳐야 할까요?
|