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 5 von 5   « Erste     345
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#1

Re: Verhindern eine Anwendung mehrfach zu starten

  Alt 6. Mai 2008, 20:55
Jooo, sofort und abschließend überzeugt:
"Halt" fliegt 'raus und wird durch "Terminate" ersetzt - Danke!
Ralph
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#2

Re: Verhindern eine Anwendung mehrfach zu starten

  Alt 6. Mai 2008, 20:58
Hmm, ist in gewisser Weise ein Argument. Obwohl das natürlich schon ein "Sabotage" der Software ist, die auch an anderen Stellen, die viel unangenehmere Auswirkungen haben können, auch Probleme schaffen könnte. Hmm, was ist denn dann die derzeit beste Lösung? Mit der GUID kann ich mich nicht so richtig anfreunden...
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Verhindern eine Anwendung mehrfach zu starten

  Alt 6. Mai 2008, 21:03
Ich persönlich würde erst garnicht soweit gehen, die Dateigröße o.Ä. zu verwenden, es reicht doch eigentlich völlig aus, wenn man einen Inviduellen String benutzt (ok, der sollte jetzt nicht nur 1 Zeichen lang sein ). Ich glaube, da sind die Wahrscheinlichkeiten, dass ein anderes Programm einen Mutex anlegt, den Wert prüft und dann auch noch den gleichen Wert hat, schon relativ klein.
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Carsten Hölscher

Registriert seit: 29. Jul 2008
77 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Verhindern eine Anwendung mehrfach zu starten

  Alt 12. Jan 2022, 18:40
Ich wollte die hier https://www.delphipraxis.net/101-dop...erhindern.html angebotene Komponente in Delphi 11 nutzen, bekomme aber den Parameter beim 2. Start in der laufenden Instanz nicht korrekt, z.B. ist der 2. Teil des Parameter-Strings nur Salat. Ist sicherlich irgendein Unicode-Problem, das ich aber noch nicht durchdrungen habe. Hat zufällig schon mal jemand die Komponente auf den aktuellen Stand gebracht (oder hat Delphi evtl. inzwischen eine Hauslösung für das Thema, gefunden hab ich keine)?


Carsten
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#5

AW: Verhindern eine Anwendung mehrfach zu starten

  Alt 12. Jan 2022, 19:21
Es lebe Unicode ... der Code war noch aus Zeiten von vor 2009

Hab's nicht getestet, aber ich denke mal so müsste es aussehn:

Delphi-Quellcode:
{ 604 OneInstance.pas }

          SetString(S, PChar(lpData), cbData div 2);

    cbData:= StrLen(lpData) * 2;
Delphi-Quellcode:
{ 149 OneInst.pas }

  cbData := cbData * 2;
  Result := GetMemory(cbData);
Bzw. wenn man es ganz genau nimmt, dann statt 2 besser ein SizeOf(Char) .

Aber 100% richtiger wäre es, wenn man den Code "richtig" fest auf UnicodeString/WideString, PWideChar und 2 umstellt, anstatt String, PChar und SizeOf(Char).
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (12. Jan 2022 um 19:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Verhindern eine Anwendung mehrfach zu starten

  Alt 12. Jan 2022, 19:52
Falls das nicht funktioniert, ich nutze seit Ewigkeiten "PBOnceOnly" geschrieben von Dr. Peter Below, funktioniert bei mir tadellos.
Einfachmal nach "PBOnceOnly" hier oder per google suchen.
Ich habe leider nur noch eine von mir modifizierte Version, was ich modifizierte, abgesehen vom unit namen, habe ich aus dummheit nicht notiert aber es arbeitet tadellos mit Delphi Rio zusammen.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.555 Beiträge
 
Delphi 7 Professional
 
#7

AW: Verhindern eine Anwendung mehrfach zu starten

  Alt 12. Jan 2022, 20:35
PBOnceOnly.pas
  Mit Zitat antworten Zitat
Carsten Hölscher

Registriert seit: 29. Jul 2008
77 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Verhindern eine Anwendung mehrfach zu starten

  Alt 15. Jan 2022, 17:16
Es lebe Unicode ... der Code war noch aus Zeiten von vor 2009

Hab's nicht getestet, aber ich denke mal so müsste es aussehn:

....
Ja, geht. Vielen Dank. Da war ich immerhin irgendwie schon ganz nah dran bei meinen eigenen Versuchen

In dem Komponenten-Thema kann ich ja nicht schreiben, vielleicht kann es da jemand entsprechend aktualisieren?

Carsten
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#9

Re: Verhindern eine Anwendung mehrfach zu starten

  Alt 6. Mai 2008, 21:10
Ja, schätze ich auch so ein. Schön wäre es aber, wenn dieser individuelle String automatisch in der Unit erzeugt wird - die will ich ja einfach nur (ohne weitere Arbeit) in das Projekt einfügen....

// edit: Noch ein letztes Mal nachgedacht:
Das Umbenennen der Exedatei ist nur kritisch, wenn das Programm nach dem ersten Start umbenannt und unter neuem Namen erneut aufgerufen würde - nur dann greift der Test ins Leere. So viel Vorsatz sollte dann auch dadurch belohnt werden, das die zweite Instanz tatsächlich gestartet wird. Mein Fazit: Ich lasse meine Unit wie sie ist
Ralph
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 5   « Erste     345

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 06:43 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