Einzelnen Beitrag anzeigen

Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: Doppelstart einer Anwendung

  Alt 18. Nov 2006, 23:38
Es ging mir eigentlich nur darum, dass sich die zweite Instanz des Programmes nicht schließt.

Kurz könnte man den Code daher auch so darstellen:

Delphi-Quellcode:
  mHandle := CreateMutex(nil, True, '{E46EF2D5-34C6-4FC1-A3BA-E9A49C0327B0}');
  if GetLastError = ERROR_ALREADY_EXISTS then
    Exit;
Und komischerweise hab ich grad bemerkt, dass er so auch funktioniert.
So aber nicht:

Delphi-Quellcode:
  mHandle := CreateMutex(nil, True, '{E46EF2D5-34C6-4FC1-A3BA-E9A49C0327B0}');
  ShowMessage(IntToStr(mHandle));
  if GetLastError = ERROR_ALREADY_EXISTS then
    Exit;
Ist zwar jetzt für mein Problem unerheblich (Das Showmessage kann da ja weg) aber es würde mich doch interessieren, warum es so nicht funktioniert. Schreibt ShowMessage was in LastError rein?

EDIT:
Auf jeden Fall schonmal danke für eure Antworten.
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat