BCB에 새로운 버전의 Indy를 설치할 때는 BCB에 기본으로 포함된 Indy관련 파일을 모두 지우고 설치를 한다. Indy 10 설치했다가 안돼서 다시 Indy 9로 바꿨는데...
Indy에 있는 대부분의 컴포넌트는 정상적으로 동작하는데 이상하게 TCPServer를 테스트 하려고 폼에 하나 놓고 Execute이벤트 핸들러 내에서 클라이언트가 입력한 메시지를 읽으려고 하면 AThread->Connection이 NULL이여서 Access Violation이 발생한다.
왜 Connection이 NULL로 넘어오는지 이유는 못 찾고 괜히 Indy 컴포넌트만 지우고 설치하고 만 반복해도 해결이 안되서 혹시나 하는 생각에 빌더 디렉토리에서 indy로 시작되는 파일을 검색해봤더니 빌더에 기본으로 포함된 예전 Indy 파일들이 남아있었다.
빌더 인스톨 할 때 Indy는 선택 안했기때문에 BCB에 포함된 Indy 때문에 이상이 있을거라는 생각은 안했는데 이렇게 많이 남아 있다니 ㅠ.ㅠ. 검색된 파일 이름 뒤에 언더바를 붙이고(or 삭제하고) 새로운 버전의 Indy를 설치하니 모두다 정상적으로 동작한다.