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

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

не идет работа с ком портом из 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 не дает ожидаемого результата ? Так что ли ?


Наверх

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