AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zweiter Aufruf verhindern

Ein Thema von Elspass · begonnen am 29. Jul 2007 · letzter Beitrag vom 29. Jul 2007
Antwort Antwort
Elspass

Registriert seit: 15. Sep 2003
Ort: Hofheim am Taunus
83 Beiträge
 
FreePascal / Lazarus
 
#1

Zweiter Aufruf verhindern

  Alt 29. Jul 2007, 12:31
Moin, Moin,
wie kann ich verhindern das mein Programm ein zweites mal aufgerufen wird?

Gruß Jörg
Jörg Elspass
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#2

Re: Zweiter Aufruf verhindern

  Alt 29. Jul 2007, 12:40
Hallo,

die Suche im Forum nach Mutex Programmstart liefert Dir erfolgreiche Verfahren.

Gruß Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Elspass

Registriert seit: 15. Sep 2003
Ort: Hofheim am Taunus
83 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Zweiter Aufruf verhindern

  Alt 29. Jul 2007, 12:47
Vielen Dank!
Haben ich nicht gefunden
Jörg Elspass
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Zweiter Aufruf verhindern

  Alt 29. Jul 2007, 13:18
Dann schau mal bitte hier (Mutex).

Grüße Klaus
Klaus
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#5

Re: Zweiter Aufruf verhindern

  Alt 29. Jul 2007, 13:24
Ich mach das immer so:

Delphi-Quellcode:
var
 mHandle: THandle;
// [...]

initialization
   mHandle := CreateMutex(nil, True,
    '(Application.ExeName)'); // Wichtige zeile
     if GetLastError = ERROR_ALREADY_EXISTS then
     begin
     Halt;
  { Halt stopt in dem Fall das 2. starten des Programms.
    Man könnte auch eine MessageBox hierhinmachen oder soetwas ..}


finalization
 if mHandle <> 0 then
   CloseHandle(mHandle);
end. // Programmende
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Zweiter Aufruf verhindern

  Alt 29. Jul 2007, 13:28
Moin Tommy,

das sieht so aus, als würdest Du die Abfrage in einer Unit machen.
Wenn Du das zu Beginn der Projektdatei einfügst (vor Application.Initialize), kannst Du Dir auch ein HALT sparen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Elspass

Registriert seit: 15. Sep 2003
Ort: Hofheim am Taunus
83 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Zweiter Aufruf verhindern

  Alt 29. Jul 2007, 19:27
Sorry Klaus,

ich hatte vor meiner Frage hier im Forum schon gesucht. Nach dem Tip Mutex Programmstart zu suchen wurde ich schon fündig...
Vielen Dank für die schnelle Hilfe
Jörg Elspass
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz