AGB  ·  Datenschutz  ·  Impressum  







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

Anwendung nur einmal starten

Offene Frage von "rabatscher"
Ein Thema von ruppi98 · begonnen am 4. Aug 2023 · letzter Beitrag vom 18. Aug 2023
Antwort Antwort
Seite 2 von 2     12   
ruppi98

Registriert seit: 24. Jan 2007
7 Beiträge
 
#11

AW: Anwendung nur einmal starten

  Alt 4. Aug 2023, 13:34
Hallo Uwe,

danke für das Snippet. Werde es mal probieren, ob ich damit Erfolg habe.

Danke an alle die bisher geantwortet haben.

Wünsche ein schönes Wochenende.

Werde mich nächste Woche mal melden, ob ich Erfolg hatte.

Ruppi
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.445 Beiträge
 
Delphi 12 Athens
 
#12

AW: Anwendung nur einmal starten

  Alt 4. Aug 2023, 14:36
Wichtig ist hier der Prefix "Global" damit der Mutex nicht auf die aktuelle Session beschränkt ist.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.596 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#13

AW: Anwendung nur einmal starten

  Alt 4. Aug 2023, 15:59
Dann wirst Du etwas anderes nutzen müssen, um Dein SingleInstance zu gewährleisten. Einfach ist da eine Semaphordatei zu setzen/löschen. Nicht trivial ist dann herauszufinden, ob die Datei da ist, weil gerade das Programm läuft, oder weil vergessen wurde sie zu löschen (Programmabsturz).
Kein Akt: Einfach die Datei beim Start exklusiv öffnen/erzeugen/überschreiben und sie offen halten bis zum Programmende. Wenn das Öffnen/Erzeugen fehlschlägt, läuft bereits eine andere Instanz.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Anwendung nur einmal starten

  Alt 4. Aug 2023, 20:29
Man muß aber aufpassen, wenn man auf gewissen Netzlaufwerken läuft.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Anwendung nur einmal starten

  Alt 4. Aug 2023, 20:31
oder weil vergessen wurde sie zu löschen (Programmabsturz).
MSDN-Library durchsuchenCreateFile und FILE_ATTRIBUTE_TEMPORARY und/oder FILE_FLAG_DELETE_ON_CLOSE
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
ruppi98

Registriert seit: 24. Jan 2007
7 Beiträge
 
#16

AW: Anwendung nur einmal starten

  Alt 16. Aug 2023, 15:51
Hallo,

vielen Dank an alle, die sich an der Diskussion beteiligt haben.
War in zwischen auf Dienstreise, deshalb komme ich heute erst dazu mich zu bedanken.
Habe das "Problem" in zwischen durch Änderung im Aufgabentask lösen können.
Mit dem Mutex hatte ich leider keinen Erfolg.

Als noch mal vielen Dank an alle.

Ruppi
  Mit Zitat antworten Zitat
rabatscher

Registriert seit: 13. Dez 2007
Ort: Bruck an der Mur
69 Beiträge
 
#17

AW: Anwendung nur einmal starten

  Alt 18. Aug 2023, 12:28
In der JVCL (JvJCLUtils.pas) gibt es eine Helperfunktion:

"ActivatePrevInstance"

Sie aktiviert ein Fenster, falls es dieses schon mal gibt und gibt dann True zurück.

Wir benutzen das, um ein Programm nur einmal auszuführen und es dann zu aktivieren, falls
der Benutzer es nochmals starten will.

Ein Aufruf bei uns ist z.B.:

if ActivatePrevInstance(TfrmObserverMain.ClassName, '') then
Exit;


Das Funktioniert natürlich nur auf dem "aktuellen" Desktop und nicht über Session Grenzen hinaus! Ansonsten würde ich einen
globalen Mutex/Semaphore benutzen...

wobei TfrmObserverMain das Hauptfenster der Anwendung ist.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 10:35 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