C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[49762] BEGIN_MESSAGE_MAP 에서 Stack Overflow가 납니다...
온새미 [destinyz] 2149 읽음    2007-06-30 05:17
BEGIN_MESSAGE_MAP // <-
  MESSAGE_HANDLER(WM_USER+1818, TMessage, OnWMUser1818);
  MESSAGE_HANDLER(WM_MOUSEACTIVATE, TWMMouseActivate, OnWMMouseActivate);
  MESSAGE_HANDLER(WM_NCACTIVATE, TWMMouseActivate, OnWMNCActivate); // <-
END_MESSAGE_MAP(TForm)

이렇게 썼구요... 제가 후킹쪽을 건드리려고 하다보니까 이렇게 쓰게되었는데, 디버그해보니까 폼까지 다 띄우고 나서 위의 소스에서 주석으로 달아놓은 화살표에만 계속 돌더군요-_-;; 그래서 오버플로우가 생기는듯한데요...

저 OnWMNCActivate에는 아래와같이 적어주었습니다.

void __fastcall TForm1::OnWMNCActivate(TWMMouseActivate &Message)
{
        Dispatch(&Message);
}

이렇게 하면서... 솔직히 BEGIN_MESSAGE_MAP ~ END_MESSAGE_MAP(TForm) 에 대해서 잘 모르겠구요...[지속적으로 이 범위 안에 있는 MESSAGE_HANDLER를 호출하는거 같은데...]
그리고 Dispatch라는것도 델파이로 된 소스 번역하다가 inherited인가 그거를 C에서는 Dispatch라고 한다고 해서 바꿔본거구요... 정확히는 무슨일을하는지 모릅니다;ㅅ ;

제가 질문한 정보가 부족하다고 생각하시면 댓글 달아주세요...

여러분... 제 인생의 카운트 다운이 다가오고있습니다 ㅠㅠ 꼭 좀 도와주세요...

[혹시 C로 만들어진 화상(또는 화면)키보드 예제 좋은거 있으신 분 onsemy@gmail.com 으로 보내주시면 감사하겠습니다.]

+ -

관련 글 리스트
49762 BEGIN_MESSAGE_MAP 에서 Stack Overflow가 납니다... 온새미 2149 2007/06/30
49764     Re:BEGIN_MESSAGE_MAP 에서 Stack Overflow가 납니다... 이정구 1807 2007/06/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.