AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Verhindern eine Anwendung mehrfach zu starten

Verhindern eine Anwendung mehrfach zu starten

Ein Thema von Moony · begonnen am 6. Mai 2008 · letzter Beitrag vom 15. Jan 2022
Antwort Antwort
Seite 2 von 6     12 34     Letzte » 
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Verhindern eine Anwendung mehrfach zu starten

  Alt 6. Mai 2008, 14:55
Eine Alternative:

Delphi-Quellcode:
initialization
  hApp := CreateMutex(nil, True, 'APPNAME');
  if GetLastError = ERROR_ALREADY_EXISTS then
  begin
    MessageDlg('Das Programm kann nur einmal gestart werden!', mtError, [mbOK],0);
    Halt;
  end;

finalization
  if hApp <> 0 then CloseHandle(hApp);

Edit: Hab gerade gesehen, dass Luckie einen fast identischen Code bereits verlinkt hat.
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#12

Re: Verhindern eine Anwendung mehrfach zu starten

  Alt 6. Mai 2008, 14:58
Also ich habe den Code von Luckie als unit eingebunden und der Funzt bei mir schon ewig ohne Probleme
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#13

Re: Verhindern eine Anwendung mehrfach zu starten

  Alt 6. Mai 2008, 15:04
Ich habe jetzt die Komponente von CalganX genommen. Aber irgendwie funktioniert das alles nicht so wie es soll....

@Subdata:
so habe ich es auch schon probiert, aber alles erfolglos. Ich bekomme jedesmal eine dicke Exception wenn ich die Applikation das zweite Mal starte.

@fuknersascha:
Ich habe jetzt nochmals den Code von Luckie 1:1 kopiert nur den Unitnamen umbenannt und ich bekomme beim zweiten Start des Applikation eine Exception.


Bei dieser Zeile:
mHandle := CreateMutex(nil,True,'meinProgrammtitel'); steht der Programmtitel statisch als String.
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#14

Re: Verhindern eine Anwendung mehrfach zu starten

  Alt 6. Mai 2008, 15:08
Da muss dein Programmtitel rein also MeinProgramm.exe
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#15

Re: Verhindern eine Anwendung mehrfach zu starten

  Alt 6. Mai 2008, 15:09
Mit oder ohne Extention?
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#16

Re: Verhindern eine Anwendung mehrfach zu starten

  Alt 6. Mai 2008, 15:09
Nein, da kann jede beliebige, eindeutige Zeichenfolge stehen. Am besten nimmt man eine GUID dafür.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Klaus01

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

Re: Verhindern eine Anwendung mehrfach zu starten

  Alt 6. Mai 2008, 15:10
Zitat von Moony:
Ich habe jetzt nochmals den Code von Luckie 1:1 kopiert nur den Unitnamen umbenannt und ich bekomme beim zweiten Start des Applikation eine Exception.


mHandle := CreateMutex(nil,True,'meinProgrammtitel');
Hallo,

bekommst Du die Exception auch, wenn Du die Applikation
nicht aus der IDE startest?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#18

Re: Verhindern eine Anwendung mehrfach zu starten

  Alt 6. Mai 2008, 15:10
Notfalls:
Bei LMD-Tools gibt es ein "OneInstance" ...
Entweder Downloaden (http://www.lmdinnovative.com/) oder auf der Partner-Software-CD von Borland gugn (da sollts auch druff sein)
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.248 Beiträge
 
Delphi 2006 Professional
 
#19

Re: Verhindern eine Anwendung mehrfach zu starten

  Alt 6. Mai 2008, 15:11
Zitat von fuknersascha:
Da muss dein Programmtitel rein also MeinProgramm.exe
Nich ganz. Dort muss ein eindeutiger String stehn. Am einfachsten eine GUI-ID

[EDIT]Da guckt man vor dem absenden mal schnell etwas nach; und was passiert? Luckie sendet 2 Minuten früher
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#20

Re: Verhindern eine Anwendung mehrfach zu starten

  Alt 6. Mai 2008, 15:11
Zitat von fuknersascha:
Da muss dein Programmtitel rein also MeinProgramm.exe
Beim Mutex kannst du "irgendeinen" String verwenden.
Wie Luckie bereits erwähnte, bietet sich eine GUID an.

Edit: Der Hai war schneller
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 17:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf