Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с OVERLAPPED [D6, WinXP]


sden ©   (2003-12-06 15:46:00) 

Ovl: OVERLAPPED;

hCOM:=CreateFile(pchar(cmbPort.Text),GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED,0);

Ovl.hEvent:=CreateEvent(nil,false,false,nil);

BytesToRead:=255;

ReadFile(hCOM,RxBuf,BytesToRead,BytesRead,@ovl);

При чтении с OVERLAPPED переменная BytesRead остается равной 0, даже когда данные приходят.

Если убираю OVERLAPPED - в BytesRead записывается действительное значение.

Из-за чего такое может быть?

Заранее благодарен.


Polevi   (2003-12-08 09:21:00) [1]

у меня подозрение что 4 параметр труе...


sden   (2003-12-06 23:28:00) [2]

в курсе.
сам справился.
GetOverlappedResult - вот ответ.
все красиво работает!
спасибо за помощь...


Бином Ньютоныч   (2003-12-06 20:09:00) [3]

>sden (06.12.03 19:35) [2]
>а ответ я так и не получил.
Хорошо, вот ответ: BytesRead = 0 - вполне нормальная ситуация в данном случае


Anatoly Podgoretsky   (2003-12-06 19:41:00) [4]

Ты убрал главные куски кода, оставил не значительные.


sden   (2003-12-06 19:35:00) [5]

я представил только фрагменты кода, так что не было необходимости высказывать такое неуважение. а ответ я так и не получил.


Бином Ньютоныч   (2003-12-06 18:42:00) [6]

Как ты думаешь, зачем тут нужен Event, а? похоже, вообще никакого понятия об асинхронных операциях. Иди читай MSDN или еще что-нибудь, пока кто-нибудь еще дальше не послал


Наверх

Титульная страница Поиск, карта сайта Написать письмо