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
[65047] Re:TMessage 초기화를 못하겠습니다
아루스 [tinydew4] 1568 읽음    2011-08-30 10:03
우선, 해결방법은 먼저 답글 달아주신 분 내용대로 하시는 게 좋음을 알려드리고 시작할께요.


: TMessage &Message;
: vGetDevModeCheck(&Message);

이렇게 하셨는데... 참조자(&)에 대해서 더 공부하셔야합니다.
포인터를 아신다면 어렵지 않은 개념이니 먼저 찾아보세요.

TMessage &Message 는 TMessage 구조체가 아닌 그 구조체를 참조할 수 있는 공간만 할당된거죠.
NULL 포인터라고 생각해보세요. 그래서 초기화를 하라는겁니다.

TMessage Message;
vGetDevModeCheck(Message);
라고 하시면 아름다운 방법은 아니지만 컴파일 오류는 나지 않을겁니다.





김천재 님이 쓰신 글 :
: 볼랜드 c++ 빌더 6.0 을 씁니다.
:
: 제가 Device가 변할때마다 함수를 호출하려고
:     BEGIN_MESSAGE_MAP
:         MESSAGE_HANDLER(WM_DEVICECHANGE , TMessage, vGetDevModeCheck)
:     END_MESSAGE_MAP(TForm)
:
: 이렇게 메시지를 이용해 함수를 호출합니다.
: 함수는
:     void __fastcall vGetDevModeCheck(TMessage &Message);
:
: 이것이고요.
:
: 문제는 제가 인위적으로 함수를 호출을 못하겠습니다.
:
: vGetDevModeCheck(); 이러면 당연히 인자넣으라 그러고
: TMessage &Message;
: vGetDevModeCheck(&Message); 이러면 Message 를 초기화 하라고 그럽니다
:
: 근데 초기화하는 방법을 모르겠네요. NULL값 넣어도 안되고요..
: 도와주세요~

+ -

관련 글 리스트
65044 TMessage 초기화를 못하겠습니다 김천재 1336 2011/08/29
65053     Re:TMessage 초기화를 못하겠습니다 1332 2011/08/30
65047     Re:TMessage 초기화를 못하겠습니다 아루스 1568 2011/08/30
65046     Re:TMessage 초기화를 못하겠습니다 송신영 1619 2011/08/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.