Thema: Delphi CreateSemaphore

Einzelnen Beitrag anzeigen

Benutzerbild von Sprint
Sprint

Registriert seit: 18. Aug 2004
Ort: Edewecht
712 Beiträge
 
Delphi 5 Professional
 
#5

Re: CreateSemaphore

  Alt 11. Sep 2004, 13:04
Eine andere Möglichkeit wäre noch, wenn du das mit GlobalAddAtom machen würdest. Der ganz große Nachteil an der Geschichte wäre aber, das wenn dein Programm abschmiert oder vom Benutzer abgeschossen wird, das GlobalDeleteAtom nicht ausgeführt wird. Und der Benutzer das Programm erst nach einem Neustart von Windows wieder benutzen kann.
Delphi-Quellcode:
var
  MyAtom: ATOM;

initialization

  MyAtom := GlobalFindAtom('{03D1CB1A-5C2C-4B0D-9311-F585653FF733}');

  if MyAtom <> 0 then
  begin
    MessageBox(0, 'Programm läuft bereits.', nil, MB_OK or MB_ICONEXCLAMATION);
    MyAtom := 0;
    Halt(0);
  end else
    MyAtom := GlobalAddAtom('{03D1CB1A-5C2C-4B0D-9311-F585653FF733}');

finalization

  if MyAtom <> 0 then
    GlobalDeleteAtom(MyAtom);

end.
Ciao, Sprint.

"I don't know what I am doing, but I am sure I am having fun!"
  Mit Zitat antworten Zitat