Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Prüfen ob ein TEvent gesetzt ist? (https://www.delphipraxis.net/164870-pruefen-ob-ein-tevent-gesetzt-ist.html)

jensw_2000 3. Dez 2011 18:21

Prüfen ob ein TEvent gesetzt ist?
 
Kann man eigentlich irgendwie sinnvoll prüfen in welchen Status sich eine TEvent Instanz befindet?
Also... ob ich es mit myEvent.SetEvent gesetzt bzw. myEvent.ResetEvent zurückgesetzt habe?

Klar geht die Krücke über WaitFor(<Single>,<Multiple>)Object(s) mit einem sehr kurzem Timeout, aber die Lösung ist sehr unschön.
Im MSDN habe ich nichts passendes gefunden.

Was ich gern hätte wäre etwas in der Art:

Delphi-Quellcode:
function istEventGesetzt(aEvent:TEvent):boolean;
begin
  if not assigned(aEvent) then exit(false);
  result := < keine Idee wie man den Status ohne zusätzliches WaitFor ermitteln kann ... >
end;
Hat jemand eine Idee?

Grüße
Jens

Stevie 3. Dez 2011 18:45

AW: Prüfen ob ein TEvent gesetzt ist?
 
Delphi-Quellcode:
if AEvent.WaitFor(0) = wrSignaled then


Zitat:

Zitat von MSDN
The time-out interval, in milliseconds. If a nonzero value is specified, the function waits until the object is signaled or the interval elapses. If dwMilliseconds is zero, the function does not enter a wait state if the object is not signaled; it always returns immediately.


jensw_2000 3. Dez 2011 18:56

AW: Prüfen ob ein TEvent gesetzt ist?
 
:oops:
Das Timeout=0 prüft ohne zu blockieren hatte ich übersehen...

Danke.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz