이번에 TComPort 컴포넌트를 사용하여 프로젝트를 하나 했습니다.
2초마다 232 케이블로 부터 데이타를 받아 디스플레이 해주는 프로젝트이죠
그런데 프로그램 실행 중 4시간 정도 경과 하면 포트로 부터 데리타를 읽을 수가 없군요..ㅠㅠ
Write Part
cp.SetRTS(true);
cp.WriteStr(var_temp_data);
Sleep(21);
cp.SetRTS(true);
Read Part
procedure TForm1.cpRxChar(Sender: TObject; Count: Integer);
var
Str: String;
begin
cp.ReadStr(Str, Count);
end;
프로그램은 이렇게 되어 있습니다.
제가 생각 하기에는 TComPort 컴포넌트 버퍼에 데이타가 차서 그런거 같은데...어케 수정을 해야 할지요
해결방법이 있나요.?
프로그램 종료후 다시 실행 하면 다시 실행이 잘되네요.
고수님들의 조언 부탁 드립니다.
데이터를 읽을 수 없다는 말씀이 어떤 건지 잘 모르겠네요.
무슨 에러 메세지라두 나오나요?
만약...
디스플래이 용으로 메모 같은 것을 사용 하셨다면
메모의 한계가 있습니다. 윈9x에서는 64K까지밖에 안되거든요.
그리고..보통 포트 컴포넌트에서는 큐를 사용하기때문에 버퍼가 꽉차서 데이터를 못 받는 일은 없을 것 같군요.
아마도 다른 문제일 것 같습니다.