Registriert seit: 24. Okt 2004
1.542 Beiträge
Delphi XE Architect
|
Mutexhandle setzt sich selbst auf 0
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
|