Вниз
Скачать: CL | DM;

Com port - ReadFile???   Найти похожие ветки 

 
AndrewVolkov ©   (2003-07-13 18:28) [0]

Взято из примера с этого сайта.

procedure ReadComm;
var
Resive:array [0..255] of char;
begin

while true do
begin
TransMask:=0;
WaitCommEvent(CommHandle,TransMask,@Ovr);
if (TransMask and EV_RXCHAR)=EV_RXCHAR then
begin
ClearCommError(CommHandle,Errs,@Stat
Kols := Stat.cbInQue;
ReadFile(CommHandle,Resive,Kols,Kols,@Ovr

Form1.Panel1.Caption:=string(Resive);
end;
end;
end;

Трабла в следующем, что у меня никогда не происходит событие EV_RXCHAR. Я не могу отловить момент прихода чего-нибудь на ком порт. Единственное событие которое приходит - EV_TXEMPTY

P.S. процедура запускается в отдельном потоке.

Инициализация выглядит так

CommHandle := CreateFile("COM1",GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,0);

SetCommMask(CommHandle,EV_RXCHAR or EV_RXFLAG or EV_TXEMPTY or EV_RLSD or EV_BREAK or EV_RING or
EV_ERR or EV_CTS or EV_DSR);


 
Моджахед   (2003-07-13 18:55) [1]

А что висит на ком-порте?


 
AndrewVolkov ©   (2003-07-13 19:26) [2]

Термопринтер



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.017 c
1-77951
saschka
2003-07-10 07:35
2003.07.24
Связь с окном DOS-программы


1-77990
Boss
2003-07-11 14:04
2003.07.24
Теория расписаний, помогите чем можете!!!


1-77844
Cr@zy-EyE
2003-07-12 17:54
2003.07.24
Invalid Pointer Operation


1-77979
Keith Flint
2003-07-11 11:20
2003.07.24
TListView


9-77710
R2D2
2003-02-01 22:32
2003.07.24
---|Ветка была без названия|---




   Наверх