Hallo,
ich habe folgendes Problem.
Ich nutze eine Thread (nur den Hauptthread also den
GUI-Thread)
Jetzt habe ich eine Procedure: (ist natürlich nur ein Beispiel)
Delphi-Quellcode:
procedure SchreibeLese;
begin
Schreibe
Application.ProcessMessages;
Lese;
end;
Diese Funktion wird nun in einem Timer alle 100 ms aufegerufen.
Jetzt passiert ein Asynchroner Zugriff auf die Procedure über ein ButtonClick.
Wie kann ich sicher gehen, dass die Procedure nie nochmals aufgerufen wird wenn sie gerade aufegerufen worden ist.
Jetzt ist es ja durch das Application.ProcessMessages möglich, dass genau in dem Zeitpunkt (zwischen Schreiben/Lesen)
die Funktion nochmals aufgerufen wird, richtig?
Natürlich könnte man eine Steuervariable verwenden, aber das ist für meinen Fall nicht so gut geeignet.
Gibt es eine Synchronisationsmöglichkeit im eigenen Thread,
CritcalSections sind ja Threadübergreifend...
Hoffe ich habe mich nicht zu unklar ausgedrückt
Gruß
DM
//EDIT: Delphi Code Tags vergessen