'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
)
[add]
Es kommt auch drauf an, was du erreichen willst ... man glaubt garnicht, was man alles mit einem Byte anstellen kann
Delphi-Quellcode:
Var Status: ByteBool;
repeat
until Status;
und dann
Delphi-Quellcode:
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;
theoretisch sollte das Auskommentierte funktionieren, aber einige Compiler mögen es nicht
> External
Exception C000001E
Bezüglich der Diskussionen über optimale Speichergrößen und Dergleichen, kann man auch gerne LongBool verwenden.