|
죄송합니다..
문제가 뭔지 저도 잘몰라서...
(Tcp/ip) 컴퍼넌트을 만들었습니다 (강 서버 컴퍼넌트 위에.. 스레드하고 링크드 리스트
넣어서 만들었습니다.)
이 컴퍼넌트 안에 스레드가 돌아 감니다.(링크드 리스드에 자료가 있으면 위에 이벤들 전달함)
스레드에서 이벤트가 발생합나다.(링크드 리스트이 자료 받으라고)
이벤트 선연
typedef void __fastcall (__closure *TReceiveEvent)(AnsiString &Data);
while (!Terminated)
{
if(SocketObj->ReceiveData)
{
ReceiveData = AnsiString(SocketObj->ReadPacket());
SocketObj->OnClientRead(ReceiveData);
}
else
{
Suspend();
}
}
- 스레드 로직-
그럼 본 프로그램에서 이 이벤트을 같고 처리할때 문제가 발생함니다.
이벤트에서 게체을 셍성함니다 물론
m_pClientSocket = new TClientSocket(this);
m_pClientSocket->Port = iPort;
m_pClientSocket->Host = sHost;
m_pClientSocket->OnConnect = Connect;
m_pClientSocket->OnError = MyError;
m_pClientSocket->Active = true;
이렇게 클라이언트 소켓을 만들어서 다시 데이터를 발송합니다...
근대 반응이 없군요 ..
그래서 이것 저것 해보니..
이 이벤트에서 다른 게체을 만들어서 데스트 해보니
일반 이벤트에 반든거 하고 다르더군요..
이 이벤트에서 edit 박스 만드들어서 사용해 보니 게체가 생성된것 같은데..반응이 없어요
마치 다운 된것 같아요.. 이넘만.
아마 이벤트 발생한 것이 처리가 안되서 그런것 같구요 (그래픽 쪽 )
아무턴 이벤트에서 생성한 게체들이 왜 반응하지 못하고 죽어 버릴까 (자살하나)
전에는 스레드가 없이 그냥 소겟에서 자료 날라오면 위로 올렸는데 ..
그 때는 잘됬거덩요..
이런거 아시는분
기술적으로 졸라 이상한 것이라서 이런거 물어 볼때 마다 미안함
왜 항상 이상한 질문만 할까..ㅋㅋ..
|