![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить 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 обработать при уничтожении объекта.