Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Programm nur einmal ausführen!?! (https://www.delphipraxis.net/34707-programm-nur-einmal-ausfuehren.html)

Piro 26. Nov 2004 23:03


Programm nur einmal ausführen!?!
 
Wie kann ich verhindern, dass mein Programm sich mehr als einmal starten läßt?

Habe schon was gefunden, bin aber nicht schlau daraus geworden.

Sven

CalganX 26. Nov 2004 23:06

Re: Programm nur einmal ausführen!?!
 
Hi,
suche mal einfach nach [cl]"Mutex"[/cl]. :)

Chris

Piro 26. Nov 2004 23:11

Re: Programm nur einmal ausführen!?!
 
danke, das werde ich mir mal anschauen.

Dani 26. Nov 2004 23:15

Re: Programm nur einmal ausführen!?!
 
...oder nach Hier im Forum suchenSemaphore

Der Vorteil von Semaphores gegenüber Mutexes ist, dass die Semapore an den Prozess gebunden ist und bei einem Programmabsturz gelöscht wird. Der Mutex würde in so einem Fall evtl. nicht entfernt und du könntest das Programm nicht mehr starten obwohl keine Instanz davon mehr läuft.

Der Nachteil ist, dass du Semaphores (noch) nicht mit Inno Setup verwenden kannst.

neolithos 26. Nov 2004 23:18

Re: Programm nur einmal ausführen!?!
 
Zitat:

Zitat von Dani
Der Mutex würde in so einem Fall evtl. nicht entfernt und du könntest das Programm nicht mehr starten obwohl keine Instanz davon mehr läuft.

Seit wann das?
Wenn ein Process terminiert, werden meines wissens alle Handles freigegeben, auch Mutexe. Jedenfalls war das bei Win2k und ist es bei WinXP so.

Sprint 26. Nov 2004 23:33

Re: Programm nur einmal ausführen!?!
 
Zitat:

Zitat von neolithos
Wenn ein Process terminiert, werden meines wissens alle Handles freigegeben, auch Mutexe. Jedenfalls war das bei Win2k und ist es bei WinXP so.

Das ist auch richtig. Wenn du aber einen Prozess unter Win9x abschießt, dann kann es sein, das Windows die vergebenen Kernel-Resourcen nicht wieder freigibt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz