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

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

Monitoring Communications Events [D6, WinXP]


MadGhost ©   (2004-02-14 17:48:00) 

Уважаемые мастера, нашел в справке по SDK в Делфях такой пример создания события за слежением есть ли данные в порту последовательном, если я правильно выражаюсь.

вот пример:

HANDLE hCom;
OVERLAPPED o;
BOOL fSuccess;
DWORD dwEvtMask;

hCom = CreateFile("COM1",
   GENERIC_READ | GENERIC_WRITE,
   0, /* exclusive access */
   NULL, /* no security attrs */
   OPEN_EXISTING,
   FILE_FLAG_OVERLAPPED,
   NULL
   );

if (hCom == INVALID_HANDLE_VALUE) {
   /* Deal with the error. */
}

/* Set the event mask. */

fSuccess = SetCommMask(hCom, EV_CTS | EV_DSR);

if (!fSuccess) {
   /* deal with error */
}

/* Create an event object for use in WaitCommEvent. */

o.hEvent = CreateEvent(NULL, /* no security attributes */
   FALSE, /* auto reset event */
   FALSE, /* not signaled */
   NULL /* no name */
   );

assert(o.hEvent);

if (WaitCommEvent(hCom, &dwEvtMask, &o)) {
   if (dwEvtMask & EV_DSR) {
       /*
        * . . .
        */
   }

   if (dwEvtMask & EV_CTS) {
       /*
        * . . .
        */
   }
}


как такое же реализовать на Делфи? т.е. самостоятельно определить событие которое бы определяло что данные в порт пришли?

буду примного признателен, так как давно меня мучает этот вопрос.


MadGhost   (2004-02-14 19:37:00) [1]

если бы я не пытался сделать это, и у меня это работало бы я бы не задавал таких вопросов :( значит тут как раз случай что не один в один.
МОжет кто нить встречал, хочется рассмотреть подробней реализацию этого в компонентах для работы с СОМ портами :(


TUser   (2004-02-14 18:36:00) [2]

Api переводится с си на паскаль практически 1 в 1. Названия функций и типов данных будут одинаковыми.


Наверх

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