![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
не идет работа с ком портом из dll [D6, D7, Win2k]
MadMag © (2003-09-01 13:09:00)
Если использовать компоненты типа CPort из dll, то передача идет, а приема нет. Т.е. не срабатывает событие заданное в SetCommMask.
Может кто знает как бы заставить его работать. Сейчас приходится читать из порта по таймеру - это как то... :((
Digitman (2003-09-01 14:23:00) [1]
> в dll не работает именно механизм событий
> есть форма, и соответствеено цикл выборки сообщений
Ты не путаешь ли понятия "событие" и "сообщение" ?
Я не знаю, что там из себя представляют упомянутые тобой компоненты, но коль скоро ты упомянул якобы используемый тобой явно (а не компонентом изнутри !) вызов SetCommMask, значит и ответственность за ожидание коммуник.событий возлагается на тебя ! А значит и WaitCommEvent тебе вызывать, за тебя это никто не сделает)
Verg (2003-09-01 14:21:00) [2]
> В самом компоненте тоже организовывается свой цикл...
Это как?
MdMag (2003-09-01 13:53:00) [3]
Я особо не рылся внутрях, поставил CPort и еще один компонент тоже на событиях работающий - передача есть, а приема нет. С таймерами все работает, поэтому я предположил, что в dll не работает именно механизм событий. В екзешнике есть форма, и соответствеено цикл выборки сообщений. В самом компоненте тоже организовывается свой цикл...
Digitman (2003-09-01 13:36:00) [4]
т.е. ты хочешь сказать, что последующий вызов WaitCommEvent()с правильно заданным параметром lpOverlapped не дает ожидаемого результата ? Так что ли ?