Einzelnen Beitrag anzeigen

danieleh

Registriert seit: 1. Dez 2005
54 Beiträge
 
#4

Re: multiple instanzen (>2) einer Anwendung

  Alt 4. Mär 2009, 12:18
hallo himitsu

An das break hatte ich zwar auch gedacht, aber ohne Erfolg.
Dein Ansatz ist natürlich sehr elegant, aber es ist zum verzweifeln, der erste wird gesetzt aber die anschliessenden werden ignoriert.
Es ist als ob die erste mutex "überschrieben" wird. Wenn ich hingegen die Mutex abfrage, dann hab ich wieder das ursprüngliche Problem.

Delphi-Quellcode:
  For i := 0 to High(mutex) do Begin
 // if openmutex(MUTEX_ALL_ACCESS, False, PChar(mutex[i])) = 0 then
   mH := CreateMutex(nil, True, Pchar(mutex[i]));
    If mH <> 0 Then Break;
  End;
  If mH = 0 Then Begin
    MessageBox(0, PChar(MSG004), nil, MB_OK or MB_ICONEXCLAMATION);
    Halt(0);
  End;
wenn man testet
Delphi-Quellcode:
  For i := 0 to High(mutex) do Begin
      if openmutex(MUTEX_ALL_ACCESS, False, PChar(mutex[i])) = 0
      then showmessage((mutex[i]) + ' null') else showmessage((mutex[i]) +' not null') ;
  End;
dann ist tatsächlich nur die erste in der Liste not null.

mirage228:
weisst Du zufällig ob dass mit den Semaphoren auch mit TerminalServer (und über sessions hinweg) auch klappt?
  Mit Zitat antworten Zitat