Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.199 Beiträge
 
Delphi 12 Athens
 
#9

Re: multiple instanzen (>2) einer Anwendung

  Alt 4. Mär 2009, 16:18
schon komisch ... RelaseMutex scheint wohl nicht so zu Funktionieren, wie ich mir denk ,
aber mit CloseHandle geht es nun endlich

Delphi-Quellcode:
Const mutex: Array[0..4] of AnsiString = (
  'Global\{03D1CB1A-5C2C-4B0D-9311-F585653FF735}',
  'Global\{03D1CB1A-5C2C-4B0D-9311-F585653FF733}',
  'Global\{03D1CB1A-5C2C-4B0D-9311-F585653FF734}',
  'Global\{03D1CB1A-5C2C-4B0D-9311-F585653FF732}',
  'Global\{03D1CB1A-5C2C-4B0D-9311-F585653FF731}');

Var i: Integer;
  mH: THandle;

Initialization
  For i := 0 to High(mutex) do Begin
    mH := CreateMutexA(nil, True, PAnsiChar(mutex[i]));
    If mH <> 0 Then
      If GetLastError = ERROR_ALREADY_EXISTS Then Begin
        CloseHandle(mH);
        mH := 0;
      End Else Break;
  End;
  If mH = 0 Then Begin
    MessageBox(0, PChar('nix frei'), 'Error', MB_OK or MB_ICONEXCLAMATION);
    Halt(0);
  End Else
    MessageBox(0, PChar(IntToStr(i + 1)), 'OK', MB_OK or MB_ICONINFORMATION);

Finalization
  If mH <> 0 Then CloseHandle(mH);

End.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat