Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.052 Beiträge
Delphi 12 Athens
|
Re: multiple instanzen (>2) einer Anwendung
4. Mär 2009, 17: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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|
|
Zitat
|