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

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

Как получить TEvent.WaitFor(<timeout>) с результатом wrError?


davinchi ©   (2010-04-16 18:01:00) 

Как отправить событие TEvent'ту чтобы прервать ожидание с результатом wrError?


Демо   (2010-04-17 12:39:00) [1]


> Leonid Troyanovsky ©   (17.04.10 10:36) [4]


Уг, соглаен. Ожидание не прервётся, пока не закончится таймаут...


Leonid Troyanovsky   (2010-04-17 10:46:00) [2]


> davinchi   (16.04.10 18:01)

> Как отправить событие TEvent'ту чтобы прервать ожидание
> с результатом wrError?

В случае подобной нужды используют два event & WaitForMultiplyObjects.
Или WaitForObjectEx и QueueUserAPC.

--
Regards, LVT.


Leonid Troyanovsky   (2010-04-17 10:36:00) [3]


> Демо ©   (16.04.10 20:45) [1]

> CloseHandle(Event.Handle);

If this handle is closed while the wait is still pending, the function's behavior
is undefined.

RTFM: msdn.

--
Regards, LVT.


Сергей М.   (2010-04-16 22:30:00) [4]

Abandoned относится только к мьютексам


davinchi   (2010-04-16 22:25:00) [5]

CloseHandle(Event.Handle); разве не к wrAbandoned результату приведет?


Демо   (2010-04-16 20:45:00) [6]

Странное желание.

> Как отправить событие TEvent'ту чтобы прервать ожидание
> с результатом wrError?

CloseHandle(Event.Handle);

Только не забудь потом AV обработать при уничтожении объекта.


Наверх

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