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
[65463] WSAAsyncSelect 관련..
영악한녀석 [akrnldytpq] 1300 읽음    2011-11-07 18:17
안녕하세요.

TComponent를 상속받아 UDP 컴퍼넌트를 하나 만들려고 합니다.
문제는 WSAAsyncSelect()를 사용하려면 핸들값이 필요한데, 찾아보니 AllocateHWnd()라는 함수를 통해서 얻어올 수 있던데.. 잘 안되서 여쭤봅니다.

class PACKAGE MyUDP : public TComponent
{
        //통신관련 된 변수들과 속성 및 이벤트들을 선언해놨습니다.
private :
        HANDLE hWnd;
        void __fastcall WndProc(Messages::TMessage &Message);
};

클래스는 저렇게 만들어 놓고 생성자에서 AllocateHWnd()를 호출해서 핸들값은 얻어오는데 문제는 없습니다.

__fastcall MyUDP::MyUDP(TComponent *Owner)
{
         hWnd = AllocateHWnd(WndProc);
         ...생략
}

저런 일련의 과정들을 마치고 WSAAsyncSelect()를 호출했습니다.

int ret = WSAAsyncSelect(socket, hWnd, WM_USER + 123, FD_READ);

물론 이 구문도 아무런 문제가 발생하지 않았습니다. 리턴값 받아서 확인했는데 정상이더라구요..
근데 막상 TNMUDP에서 데이터 전송해보면 WndProc()에 진입을 하지 않습니다.

제가 혹시 중요한 무언가를 빠뜨린게 아닌가 해서 선배님들께 조언을 구합니다. 도움좀 부탁드리겠습니다. ㅠㅠ
현재 사용하고 있는 환경은 윈도우7에 C++ Builder 6.0 사용하고 있습니다.

+ -

관련 글 리스트
65463 WSAAsyncSelect 관련.. 영악한녀석 1300 2011/11/07
65466     Re:WSAAsyncSelect 관련.. 1252 2011/11/08
65467         Re:Re:WSAAsyncSelect 관련.. 영악한녀석 1225 2011/11/08
65470             Re:Re:Re:WSAAsyncSelect 관련.. 1155 2011/11/08
65471                 Re:Re:Re:Re:WSAAsyncSelect 관련.. 영악한녀석 1244 2011/11/08
65464     Re:WSAAsyncSelect 관련.. aa 1253 2011/11/07
65468         Re:Re:WSAAsyncSelect 관련.. 영악한녀석 1077 2011/11/08
65469             Re:Re:Re:WSAAsyncSelect 관련.. Lyn 1032 2011/11/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.