AsyncPro를 Wrapping 하여 Component를 제작 중에 있습니다.
AsyncPro를 이용하여 시리얼에서 들어오는 데이터를 받아서 특정 포멧으로 만들어서
Application에 Event를 던져주게끔 하려 합니다. (요지는, 특정 포멧을 만들어서 Application에게
전달하는 컴포넌트를 제작하려 합니다.)
메뉴얼 데로 ApdComPort를 상속 받아서 새로운 class를 하나 만들었구요..
거기서 OnTriggerAvail()를 대신하는 함수를 만들었습니다. (맞게 한 것인 지 의문? )
그리고, 시리얼에서 어떤 포멧에 맞는 데이터가 들어오면 Application에 특정 Event를 던져주어서
Application이 이 컴포넌트에서 값을 가져갈 수 있도록 하여야 합니다.
[질문]
1. AsyncPro의 OnTriggerAvail() Event Method를 정의한 것이 제대로 되었는가?
class PACKAGE TNotiCIDComPort : public TApdComPort
{
private:
virtual void __fastcall OnReceiveData(TObject *CP, WORD Count);
}
__fastcall TNotiCIDComPort::TNotiCIDComPort(TComponent* Owner) : TApdComPort(Owner)
{
this->OnTriggerAvail = OnReceiveData;
}
void __fastcall TNotiCIDComPort::OnReceiveData(TObject *CP, WORD Count)
{
memset(m_PreBuff,0x00, sizeof(m_PreBuff));
for ( int i = 0 ; i < Count ; i++ ) {
m_PreBuff[i] = this->GetChar();
}
BYTE cLen = 0x00;
int iRecvSize = Count;
....
....
2. OnTriggerAvail() Event에 대응하는 함수(OnReceiveData)에서 데이터를 수신 받아, Component를 포함하는
Application으로 Event를 던져주는 방법(User define Event 전달 방법). 강좌에 나온 문서로 잘 되지 않네요.
제가 몰라서 그런 것인 지?
약간 특이한 상황은, Sample들은 대부분 윈도우에서 던져주는 이벤트들이고, 여기 상황은 데이터가 차면
Event를 발생을 시켜주어야 하는 상황입니다. 이리저리 궁리중인데 잘 돼지 않네요.
조언 주시면 감사하겠습니다.