Конференция "Начинающим" » Как получить TEvent.WaitFor(<timeout>) с результатом wrError?
 
  • davinchi (16.04.10 18:01) [0]
    Как отправить событие TEvent'ту чтобы прервать ожидание с результатом wrError?
  • Демо © (16.04.10 20:45) [1]
    Странное желание.

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

    CloseHandle(Event.Handle);

    Только не забудь потом AV обработать при уничтожении объекта.
  • davinchi (16.04.10 22:25) [2]
    CloseHandle(Event.Handle); разве не к wrAbandoned результату приведет?
  • Сергей М. © (16.04.10 22:30) [3]
    Abandoned относится только к мьютексам
  • Leonid Troyanovsky © (17.04.10 10:36) [4]

    > Демо ©   (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.
  • Leonid Troyanovsky © (17.04.10 10:46) [5]

    > davinchi   (16.04.10 18:01)

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

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

    --
    Regards, LVT.
  • Демо © (17.04.10 12:39) [6]

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


    Уг, соглаен. Ожидание не прервётся, пока не закончится таймаут...
 
Конференция "Начинающим" » Как получить TEvent.WaitFor(<timeout>) с результатом wrError?
Есть новые Нет новых   [134432   +19][b:0][p:0]