AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wahlweise mehrfachen Programmstart verhindern
Thema durchsuchen
Ansicht
Themen-Optionen

Wahlweise mehrfachen Programmstart verhindern

Ein Thema von hsbc · begonnen am 10. Okt 2005 · letzter Beitrag vom 27. Dez 2005
Antwort Antwort
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#1

Wahlweise mehrfachen Programmstart verhindern

  Alt 10. Okt 2005, 12:11
Hallo allerseits,

ich verwende in meiner Anwendung folgenden Code:

Delphi-Quellcode:
initialization
  mHandle := CreateMutex(nil, true, 'anwendung.exe');
  if (GetLastError = Error_Already_Exists) then halt;

finalization
  if mHandle <> 0 then CloseHandle(mHandle);
welcher auch einwandfrei funktioniert.

Jetzt möchte ich in das Programm einen Schalter einbauen, wo der Anwender selbst auswählen kann, ob er zulassen möchte, dass die Anwendung mehrfach gestartet werden kann oder nicht. Gibt es hier eine Möglichkeit ???

mfg
Herbert
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Wahlweise mehrfachen Programmstart verhindern

  Alt 10. Okt 2005, 12:12
Bei den JEDIs gibts 'ne Komponente, die das kann.
André
"A programmer is just a tool which converts caffeine into code", daran wirds wohl liegen, dass ich Abends nie pennen kann

Zitat von Luckie:
Nicht nur dass ihr offtopic geworden seid, jetzt werdet ihr selber im Offtopic noch offtopic
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Wahlweise mehrfachen Programmstart verhindern

  Alt 10. Okt 2005, 12:26
Zitat von MagicAndre1981:
Bei den JEDIs gibts 'ne Komponente, die das kann.
gibt's diese Komponente auch ohne dass man die Jedi installiert?
das ist immer gleich so 'n Haufen Zeugs bei den Jedis...
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Wahlweise mehrfachen Programmstart verhindern

  Alt 10. Okt 2005, 12:57
Delphi-Quellcode:
initialization
  mHandle := CreateMutex(nil, true, 'anwendung.exe');
  if (GetLastError = Error_Already_Exists) and not FindCmdLineSwitch('nolimit', ['-','/'], True) then halt;

finalization
  if mHandle <> 0 then CloseHandle(mHandle);
Andreas
  Mit Zitat antworten Zitat
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#5

Re: Wahlweise mehrfachen Programmstart verhindern

  Alt 10. Okt 2005, 13:33
Danke erstmal für die Antworten.

Ich habe jetzt den Tipp von shmia eingebaut - funktioniert einwandfrei. Allerbesten Dank dafür !!!

mfg
Herbert
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

Re: Wahlweise mehrfachen Programmstart verhindern

  Alt 10. Okt 2005, 13:53
Zitat von RavenIV:
gibt's diese Komponente auch ohne dass man die Jedi installiert?
das ist immer gleich so 'n Haufen Zeugs bei den Jedis...
In der JCL gibt die Klasse TJclAppInstances in Unit JclAppInst.
Das ist keine Komponente, die installiert werden muss.
IMHO ist diese Klasse das Beste, was es zum Thema "Programm nur einmal starten" gibt.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Wahlweise mehrfachen Programmstart verhindern

  Alt 10. Okt 2005, 14:08
Zitat von shmia:
Zitat von RavenIV:
gibt's diese Komponente auch ohne dass man die Jedi installiert?
das ist immer gleich so 'n Haufen Zeugs bei den Jedis...
In der JCL gibt die Klasse TJclAppInstances in Unit JclAppInst.
Das ist keine Komponente, die installiert werden muss.
IMHO ist diese Klasse das Beste, was es zum Thema "Programm nur einmal starten" gibt.
würdest du den code der Klasse bitte posten?
ich möchte dieses Paket nicht extra installieren...
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#8

Re: Wahlweise mehrfachen Programmstart verhindern

  Alt 10. Okt 2005, 15:42
Zitat von RavenIV:
würdest du den code der Klasse bitte posten?
ich möchte dieses Paket nicht extra installieren...
Das geht nicht so einfach.
Die Klasse bzw. Unit hat Abhängigkeiten zu 3 weiteren Units aus der JCL.
Du solltest die JCL ruhig installieren; ich kann das nur empfehlen.
Die JCL ist sozusagen alles das, was Borland bei seiner RTL vergessen oder übersehen hat.
Hier waren Delphi Cracks (z.B. Robert Rossmair) am Werke; das lohnt sich wirklich.
Andreas
  Mit Zitat antworten Zitat
ils566

Registriert seit: 3. Dez 2005
28 Beiträge
 
#9

Re: Wahlweise mehrfachen Programmstart verhindern

  Alt 27. Dez 2005, 21:24
Hier ist ein Beispiel wie es geht.
Das Beispiel ist schon älter, könnte aber (mit geringen Anpassungen) funktionieren.
Ich hoffe es hilft.

Diese Unit bitte NICHT downloaden, nehmt die unit von meinem nächsten Posting. Die habe ich analysiert, korrigiert und "dechiffriert". Sie funktioniert nun!
Angehängte Dateien
Dateityp: pas once_422.pas (2,6 KB, 7x aufgerufen)
  Mit Zitat antworten Zitat
ils566

Registriert seit: 3. Dez 2005
28 Beiträge
 
#10

Re: Wahlweise mehrfachen Programmstart verhindern

  Alt 27. Dez 2005, 23:17
So, jetzt habe ich das vorhergehende Beispiel überarbeitet.

Jetzt funktioniert es mit D6 auf W2K auf jeden Fall.

Viel Spaß damit.
Angehängte Dateien
Dateityp: pas single_202.pas (3,8 KB, 21x aufgerufen)
  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 09:54 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