Einzelnen Beitrag anzeigen

DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#1

Prozedur gegen sich selbst absichern

  Alt 27. Mär 2009, 11:45
Hallo,

ich habe folgendes Problem und hoffe ihr könnt mir da helfen:


Ich habe eine Prozedur:
Delphi-Quellcode:
procedure TuWas;
begin
  // Prozedur tut was und hat einen exklusiven Zugriff auf eine Ressource
  // zwischendurch ruft sie Application.ProcessMessages auf
end;
Jetzt wird diese Methode von mehreren Seiten aufgerufen (Button.Clicks, oder Timmereignisse etc).
Da es schwierig ist diese zu synchronisieren würde ich gerne eine Möglichkeit schaffen, dass die Prozedur nur exklusiv aufgerufen wird.

Jetzt kann folgendes passieren:

- Button.Click
-> TuWas wird aufgerufen (das dauert u.Um. 100 ms und zwischendurch wird Application.Processmessages aufgerufen)
->Timer Ereignis schlägt zu und ruft auch TuWas auf.

Jetzt ist kein konsistenter Zustand mehr gegeben.

Ich wollte euch fragen welche Form von Sperrobjekten man da verwenden kann schließlich ist ja alles im einem Thread und einem Prozess?


Vielen Dank

MfG
DelphiManiac
  Mit Zitat antworten Zitat