Event/Mutex Status
Hallo Zusammen...
Ich hänge gerade mal wieder... SetEvent(Handle) - Klar ResetEvent(Handle) - Klar WaitForSingleObject(Handle,1000) - Klar... Aber wie kann ich den Zustand abfragen? repeat xyz Until Not(???(Handle)); Grüsse Mavarik :gruebel: |
Re: Event/Mutex Status
Sollte bei Signaled-State die Schleife verlassen.
Delphi-Quellcode:
Gut, bei NonSignaled macht es 'ne Millisekunde lang Pause und führt dann die Schleife fort.
repeat
.. until WaitForSingleObject(Handle, 1) = WAIT_OBJECT_0; |
Re: Event/Mutex Status
OK
Danke... Hätte vielleicht doch erst einen Kaffee trinken sollen... :mrgreen: Mavarik :dp: |
Re: Event/Mutex Status
'ne Funktion ohne Wartezeit ist mir auch noch nicht eingefallen
und die Idee hier eine 0 statt der 1 zu Verwenden sollte man gleich wieder ignorieren (0 = unendlich und nicht 0 = nichts :oops: ) [add] Es kommt auch drauf an, was du erreichen willst ... man glaubt garnicht, was man alles mit einem Byte anstellen kann :shock:
Delphi-Quellcode:
Var Status: ByteBool;
repeat until Status; und dann
Delphi-Quellcode:
theoretisch sollte das Auskommentierte funktionieren, aber einige Compiler mögen es nicht
Procedure SetEvent(Var B: ByteBool);
ASM //LOCK MOV BYTE PTR [EAX], 1 LOCK OR BYTE PTR [EAX], 1 End; Procedure ResetEvent(Var B: ByteBool); ASM //LOCK MOV BYTE PTR [EAX], 0 LOCK AND BYTE PTR [EAX], 0 End; > External Exception C000001E Bezüglich der Diskussionen über optimale Speichergrößen und Dergleichen, kann man auch gerne LongBool verwenden. |
Re: Event/Mutex Status
Hallo zusammen,
seit wann bedeutet 0 = unendlich und nicht nichts? Dafür gibts doch extra INFINITE, welches für unendlich steht. Viele Grüße Alex |
Re: Event/Mutex Status
Zitat:
Zitat:
|
Re: Event/Mutex Status
Komisch, mir wasr so, als hätte ich vorhin im MSDN quasi sowas gelesen, wie
wenn 0 dann gibt es kein Timeout gelesen hätte ... beim nochmaligen Lesen kann ich nur sagen ... erst fertiglesen das INFINITE wird dann auch noch erwähnt :oops: OK, dann ist die 0 natürlich doch gut :-D |
Re: Event/Mutex Status
Gut wenn man mal drüber gesprochen hat ;-)
:xmas: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 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