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
[52172] UMEvnRxChar 호출시 iLen이 0 인경우?
linuxman [] 1081 읽음    2008-02-03 03:54
자료실에서 RS232C-test 프로그램을 테스트 해보았습니다..
궁금한건...... 아래의 데이타를 받는 부분에서...  어떤 경우에는  iLen 이 ...
0 인 경우에도 UMEvnRxChar 함수가 호출될 경우가 생기는데... 정확이 어떤 경우에...
데이타가 없으면서 (iLen 의 값이 0 ) 도 ... 여기가 호출될수 있는지 궁금합니다..

쓰레드에서는 분명 데이타가 있기때문에..SendMessage ()를 호출해서.. 해당 Applicaiton에
전달해 주려고 했을텐데...말입니다..
또 유독 데이타가 8byte 단위로 경우가 대부분인데... 8byte씩 읽히는 특별한 이유도 있나요?




// 쓰레드에 의해 Data가 수신되면 SendMessage에 의해 호출된다. 즉 수신버퍼에
// TMessage의 WParam의 길이만큼 Data가 수신된 후 호출된다
void __fastcall TFormMain::UMEvnRxChar(TMessage &Message)
{
    int iLen;
    BYTE RcvBuff[4096];

    if(RadioGroupRecvType->ItemIndex == 1) return;
    iLen = RS232C->ReadData(Message.WParam, RcvBuff);
    ShowRcvData(iLen, RcvBuff);
}

그리고, RS232C class에서 정의한 timeout의 값을 Aplication에서  어떻게 사용할수 있나요?
void __fastcall TRS232C::SetTimeOut(DWORD dwTime)
{
    dwmyTimeOut = dwTime;
}
//---------------------------------------------------------------------------


수고하세요.

+ -

관련 글 리스트
52172 UMEvnRxChar 호출시 iLen이 0 인경우? linuxman 1081 2008/02/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.