|
하인철 님이 쓰신 글 :
:
: 안녕하세여..^^
:
: 저는 지금 CPort 2.63 을 이용해서 시리얼 포트 통신을 할려구 합니다.
:
: 근데 CPort 함수중에서 WaitForEvent 함수의 사용법을 잘 모르겠습니다.
:
: 특히 이 함수의 인자로 들어가는 TComEvents를 어떻게 설정해줘야 할지...ㅡㅡa
:
: WaitForEvent를 사용할려구하는건 시리얼 포트로 명령어를 보내고 응답이 돌아 올 때까정 기다렸다가 다음 처리를 해줄려구 하거든여.
:
: 조언 부탁드립니다.
CPort 2.63의 도움말 화일에서 예제를 그대로 가지고 왔습니다.
중간에 보면 어떤 이벤트에 대해서 기다릴 지에 대해서 설정하는 것이 있죠
그리고 바로 WaitForEvents 함수를 호출합니다.
이때 파라메터 중에 nil로 입력한 부분은 Win API의 Event를 설정하면 됩니다.
도움말에 보면 주의사항이 있는데 이 함수는 메시지 루프가 있을 경우에만
사용이 가능하다고 합니다.
참고하세요
------------------------------
Example
var
ComPort: TComPort;
Events: TComEvents;
begin
ComPort := TComPort.Create(nil);
try
ComPort.Events := []; // do not create monitoring thread
ComPort.Open; // open port
Events := [evCTS, evDSR, evRLSD]; // define events to wait for <==== 이벤터 설정
ComPort.WaitForEvents(Events, nil, WaitInfinite); // wait until at least one event happens
if evCTS in Events then
WriteLn('CTS Changed'); // CTS signal changed state
ComPort.Close; // close port
finally
ComPort.Free;
end;
end;
|