Einzelnen Beitrag anzeigen

Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#1

Mutexhandle setzt sich selbst auf 0

  Alt 30. Mär 2007, 12:05
Hi DPler

Ich glaub ich spinne ich hab ein Problem mit der Neustart funktion von meinem Programm und beim debuggen bin ich jetzt drauf gekommen das das Mutexhandle was ich am Anfang erzeuge plötzlich wie von geisterhand auf 0 ist.

Delphi-Quellcode:
initialization
  MutexHandle := CreateMutex(Nil, True, PChar('MeinProgramm')); //Hier wird der Mutex erzeugt (auch erfolgreich das Handle war 3964)
  if GetLastError = ERROR_ALREADY_EXISTS then //Wurde nicht ausgelöst
  begin
    Showmessage('Anwendung ist bereits gestartet!');
    Halt;
  end;
finalization
  if MutexFensterHandle <> 0 then CloseHandle(MutexFensterHandle); //Wenn ich das Programm beende dann kommt er hier her aber da ist das Handle schon null (deshalb wird es nicht geschlossen)
  if vApplicationRestart then ShellExecute(0, 'open', PChar(ParamStr(0)), nil, nil, SW_SHOW); //wenn ich neustarte dann wird die Anwendung hier neugestartet ... die neugestartete Anwendung sagt dann aber "Anwendung ist bereits gestartet!"
Ich hab Delphi nach dem Variablennamen suchen lassen (in allen Projektdateien) ... also ich bin mir ganz sicher das die Variable MutexFensterHandle nur in diesem Codeabschnitt verwendet wird.

Habt ihr eine Idee?
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat