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
[11092] Re:다시 한번만 확인 부탁 드립니다.
개박살.U&I [inutero] 905 읽음    2001-09-14 13:32
안녕하세요? 개박살입니다.

어디선가 많이본 이름이군요 --;

우선, Functions containing switch are not expanded inline 이라는 경고문이 나죠?

이건, 말뜻대로 inline 함수로는 넘 긴문장을 담고있다 라는 뜻이죠

그래서, 일반 함수로 처리한다라는 말입니다..

BEGIN_MESSAGE_MAP
    MESSAGE_HANDLER(WM_MYMESSAGE, TMessage, OnMyMessage)
END_MESSAGE_MAP(TForm)

이부분은, 헬프로 보면

#define BEGIN_MESSAGE_MAP virtual void __fastcall Dispatch(void *Message) .. 생략

매크로 함수임을 알수있답니다.

즉, 저런 문장을 만나면,,

    virtual void __fastcall Dispatch(void *Message) {
        switch( ((PMessage)Message)->Msg )  {
            case WM_MYMESSAGE:
                OnMyMessage(*((TMessage *)WM_MYMESSAGE));
                break;
            default:
                TForm::Dispatch(Message);
                break;
      }

이런식으로 변환이 되죠

즉, 클래스안에서 바로쓸수있는 인라인 함수로는 넘길다라는 뜻이되겠쬬.

별로 상관없는 에러이지만.. 이 경고가 싫으시다면,,

헤더에

    virtual void __fastcall Dispatch(void *Message);

를 걸고

나머지는 소스로 옮기면 되겠죠??

그대신 매크로같이 알기 쉬운 코딩을 포기하시고 ^^;

그럼 이해가 되셨기를....


이창환 님이 쓰신 글 :
: 제가 실수를 했군요.
:
: 그런데 TControl을 TForm으로 바꾸어도 경고가 나타납니다.
:
: 다시 한번 조언 부탁 드립니다.

+ -

관련 글 리스트
11087 다시 한번만 확인 부탁 드립니다. 이창환 800 2001/09/14
11092     Re:다시 한번만 확인 부탁 드립니다. 개박살.U&I 905 2001/09/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.