안녕 하세요
제가 오라클 데이터 베이스로 부터 데이터를 받아다가 rs -232 로 데이터를 전송해주는
프로그램을 만들었습니다.
타이머로 1분 마다 rs -232 로 데이터를 전송하는 로직 인데요 네트 워크가 안될경우나 에러가 날경우
핑 체크와 try exeption로 에러를 막았다고 막았는데 이게 한 컴퓨터가 30대 정도 있는데
하루에 2~3대가 꼭 통신이 먹통이 되네요 .
통신이 먹통이 되서 프로그램을 종료 하면 시리얼 포트가 사용중이라고 나오네요
프로그램을 종료 했는데 어떻게 윈도우 상에서 사용중으로 나오는지 이해가 안가네요
사용중 여부는
HFileRes := CreateFile(Pchar(COMstr), GENERIC_READ,0, nil, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, 0);
이런식으로 검사 했고요 .
공장이라 고압쓰는 장비가 있어서 rs-232 포트를 못쓰게 만들었다고 쳐도 어떻게 윈도우 상에서
포트가 사용중이라고 나오는지 모르겠습니다.
작업 관리자로 봐도 윈도 프로세서 이외에 다 종료 했는데도 말이죠
물론 재부팅 통신 및 프로그램이 다시 잘됩니다.
이런 경우 경험 해보신분 답변 부탁 드립니다. 초보라 어떻게 해야 되리 갈피를 못잡겠네요