|
우선, 해결방법은 먼저 답글 달아주신 분 내용대로 하시는 게 좋음을 알려드리고 시작할께요.
: 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값 넣어도 안되고요..
: 도와주세요~
|