C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Как содать обработчик события (CreateEvent...)
Aractan
Отправлено: 16.06.2004, 14:00


Ученик-кочегар

Группа: Участник
Сообщений: 22



Создаю событие с помошью Handler=CreateEvent(...);
Дальше передаю это Handler драйверу который будет вызывать SetEvent(), что бы дождаться события использую WaitForSingleObject.
Вопрос такой можно ли сделать так что при вызове SetEvent(), т.е. в случае когда происходит событие, вызывалась бы какая-то функция автоматически. Т.е. не так что я сначала делаю WaitForSingleObject, а потом в случае если все ок вызываю нужную функцию, а функция сама вызывается если происходит событие?
klen
Отправлено: 16.06.2004, 16:26


Машинист паровоза

Группа: Участник
Сообщений: 239



Можно. Размести WaitForSingleObject в отдельном потоке, который и иолько и будет ждать пока событие не произойдет. Как драйвер свиснет, за WaitForSingleObject надо вызвать твою функцию (или послать сообщение окну в котором тоже это обработать можно). Второй вариант безопасней — главный и ждатетельный поток синхронизировать не надо, но первый работать быстрее будет, но в зависимости от логики приложения надо подумать о синхронизации.

Вернуться в Вопросы программирования в C++Builder