Вниз
Скачать: 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.011 c
14-78068
Maryan
2003-07-07 19:03
2003.07.24
Нужен файл dsgnintf.dcu


11-77819
Serge Grivachenko
2002-11-09 00:46
2003.07.24
Менеджер памяти. (он же сборщик мусора или куча)


14-78100
Vlad Oshin
2003-07-07 18:03
2003.07.24
Сутки. Рассказ.


14-78113
Boss
2003-07-08 11:55
2003.07.24
Как зарегестрировать БД, чтоб она работала на другом ПК


3-77768
Kati
2003-07-02 10:06
2003.07.24
Все тот же Sql !




   Наверх