Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];

Вниз

Проблема с OVERLAPPED   Найти похожие ветки 

 
sden   (2003-12-06 15:46) [0]

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 записывается действительное значение.

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

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


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

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


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

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


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

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


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

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


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

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


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

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



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

Форум: "Система";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.029 c
3-79568
Sibskan
2004-01-23 13:44
2004.02.25
Проблема в хранимой процедуре


3-79681
Vi0let
2004-01-27 07:17
2004.02.25
Как обработать OnCellClick при dgRowSelect = true


1-79843
Dysan
2004-02-10 13:59
2004.02.25
вычислитель арифметических выражений


14-80163
Арр'акктур
2004-01-24 20:44
2004.02.25
Перехват нажатия на 3-ю кнопку крысы


4-80350
AleXACooL
2003-12-18 10:14
2004.02.25
Как зарегистрировать процесс





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский