|
원인은 for문에 있습니다.
알면서 실수하는 부분은 누구나 있습니다.
변환하면서 실수를 하신 것 같군요...^^*
다음은 for문을 수정한 소스입니다.
어디서 실수를 했는지 보일 것입니다.
//변환한 소스
for(i = 0; i < ClientSocketList->Count; i++)
{
TCustomWinSocket((TCustomWinShow *)ClientSocket->Items[i])->SendText(szMessage);
}
도움이 되었기를 바랍니다.
대게 단순한 실수는 내가보면 안보입니다...^^*
--------------------------------------------
작은 생각이 세상을 바꾼다. -정성훈.해미 -
--------------------------------------------
Curtis 님이 쓰신 글 :
: 델파이 책에 있는 예제소스를 빌더로 포팅하여 코딩하는 도중에
: 문제가 발생하여 질문을 남깁니다 ㅠ_ㅠ;
:
: // [델파이 소스]
: for i := 0 to ClientSocketList.Count-1 do begin
: TCustomWinSocket(ClientSocketList.Items[i]).SendText(szMessage);
: end
:
: // [빌더 소스]
: for(i = 0; i < ClientSocketList; i++) {
: TCustomWinSocket((TCustomWinShow *)ClientSocket->Items[i])->SendText(szMessage);
: }
:
: 여기서 ClientSocketList는 TList를 동적생성한겁니다. 델파이에선 아마 저게 되는듯 한데..
: C++빌더에선 리스트의 항목을 사용하려면 캐스팅 해줘야 하는걸로 알고있습니다.
: 그래서 위의 소스와 같이 해줬는데도 에러를 낳습니다 -_ㅠ
: 척보시면 아시겠지만 소켓으로 간단한 채팅서버를 구현하는 예제입니다.
: 그래서 서버소캣의 onClientConnect이벤트가 발생했을때 ClientSocketList->Add(Socket);을 해줍니다.
: 위의 소스부분은 onClientRead가 발생하였을때 접속해 있는 모든사용자에게 그 메시지(szMessage)를 보내는 부분입니다.
: 고수님들의 한마디 부탁드립니다 ~_~)/~
|