Q&A

  • 자료실의 indy를 이용한 채팅 프로그램에서...
다운받아 서버파일을 컴파일했는데 아래에 에러 메시지가 나타나며 컴파일이 되지 않는군요...
**********************************************************************
여기 이 부분입니다...
procedure TfmServer01.IdTCPServer1Connect(AThread: TIdPeerThread);
begin
        Memo1.Lines.Add(AThread.Connection.Binding.PeerIP + '와 접속되었습니다');
end;

에러메시지입니다.
[Error] Server01.pas(54): Undeclared identifier: 'Binding'
[Error] Server01.pas(54): 'END' expected but ')' found

위 소스에서 AThread.Connection.Binding.PeerIP 부분을 삭제하면 컴파일은 되지만, 실행시켜서 테스트 해보면 서버에 로그인된 클라이언트의 IP가 나타나지 않더군요...
**********************************************************************
혹시 이 예제를 테스트 해보신 분 계시면 어떻게 해결해야 하는지 알려 주시면 감사하겠습니다.
2  COMMENTS
  • Profile
    한종권 2002.11.13 02:38
    인디가 업그레이드 되면서 바뀐것입니다.
    인디가 좋긴 좋은데, 종종 이런경우가 발생해서 좀.......
    uses
    IdIOHandlerSocket 인가를 포함시키시고

    (AThread.Connection.IOHandler as TIdIOHandlerSocket).Binding.PeerIP;

  • Profile
    이치영 2002.11.13 06:18
    감사합니다...해결되었네요^^;
    그리구 염치불구하고 한가지 더 부탁드리겠습니다.
    클라이언트측 화면에 대화창인 메모만 있는게 아니라 그 옆에 로그인 목록이라
    해서 리스트박스를 하나 더 놓아둡니다.
    그 리스트박스에 다른 클라이언트가 로그인하면 이름이 나타나게 하고 싶은
    데... indy데모 사이트에서 다운받은 소스로 하고 있는데요...복잡해서 머리가 지끈거리네요...^^;
    어디 도움 될만한 소스없을까요?
    이것말고도 아마 나중엔 MSN메신저처럼 로그인목록에서 클라이언트 한명하고만 대화를 할 수 있게끔 확장해 나가야 될 것 같습니다...
    아무튼 답변에 감사드리고요 제가 좀 횡설수설 한것 같은데요...
    행복하시길...