AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Version (Eigenschaften) der gestarten exe im Netzwerk
Thema durchsuchen
Ansicht
Themen-Optionen

Version (Eigenschaften) der gestarten exe im Netzwerk

Ein Thema von haentschman · begonnen am 23. Aug 2020 · letzter Beitrag vom 24. Aug 2020
Antwort Antwort
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#1

Version (Eigenschaften) der gestarten exe im Netzwerk

  Alt 23. Aug 2020, 09:38
Hallöle...

In dem Thread https://www.delphipraxis.net/205205-...neter-exe.html haben wir über ein Update gesprochen. Das funktioniert...

Jetzt habe ich das Nächste. Erst mal geht es mir darum, welche Variante zu bevorzugen ist.

IST:
Auf dem Server sind ca. 10 Instanzen offen. Im Ordner ist eine alte "Kopie" gelistet. In den offenen Dateien heißen sie alle gleich.

SOLL:
Ich möchte herausbekommen, welcher User/Computer welche Instanz (Eigenschaften) gestartet hat, damit ich ihn, nach einer Zeitspanne, an das Update erinnern kann.


Möglichteiten die ich sehe:
1: Broadcast über Netzwerk
2: ein eigenes "Tool" (TCP Server) an welchem sich alle beim Start anmelden und sich beim Beenden abmelden. Da kann ich die Informationen listen.
3: RAD SERVER (geplant) Auslesung über REST. Anmeldung der EXE wie 2.
4: die EXE erinnert automatisch nach Zeit X.

Wie würdet ihr es lösen?


Geändert von haentschman (23. Aug 2020 um 09:40 Uhr)
  Mit Zitat antworten Zitat
Delphi.Narium

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

AW: Version (Eigenschaften) der gestarten exe im Netzwerk

  Alt 23. Aug 2020, 10:31
4.

1. Kann man ignorieren und Du musst das immerwieder machen, in der Hoffnung, dass die User sich irgendwann mal bequemen, der Aufforderung ... nachzukommen.
2. Da bleiben ggfls. Reste, wenn User mal das Programm per TaskManager ... "abschießen" oder sonstwie nicht sauber beenden (Rechnerabsturz ...). Du weißt also nie 100% verlässlich, ob die Infos noch aktuell sind.
3. dito.
4. Damit könntest Du den User ggfls. "penetrant" drauf hinweisen, dass er das Update machen soll (MessageDLG, Formular, irgendwas aktiv zu bedienendes), bis das Update für ihn "weniger Aufwand" ist, als die permanenten Erinnerungen. Da das Update eh nur ein Beenden und Neustarten des Programmes ist und der Rest automatisch geht, sollten auch träge User mit 'ner (im Laufe der Zeit) immer penetranteren "Erinnerungsorgie" zum Beenden und Neustarten des Programmes bewogen werden können.

Unter "penetrant" verstehe ich hier sowas in der Art:
0. Der bereits vorhanden Hinweis.
+1 Woche nach neuer Version eventuell 1 mal täglich (gegen Mittag) erinnern.
+2 Woche stündlich
+3 Woche alle 5 Minuten
+4 Woche: Dialog anzeigen, der nach Bestätigung den Vorgang selbst anstößt (ShellExecute des Launchers und "reguläres Beenden des Programmes"), sofern das irgendwie ohne Datenverluste oder Zerstörung des Workflows möglich sein sollte.

Wie oft gibt es denn überhaupt neue Versionen?

Die Woche im Beispiel kannst / musst Du halt durch einen für Deine Software / Deine Kunden "sinnvollen" Zeitraum ersetzen

Das läuft letztlich auf eine Erweiterung Deines schon vorhanden "Prüfthreads" hinaus, weitere Werkzeuge, Schnittstellen, ... wären so nicht erforderlich.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#3

AW: Version (Eigenschaften) der gestarten exe im Netzwerk

  Alt 23. Aug 2020, 11:05
Danke...
Zitat:
4.
...halte ich auch für die wenigste Arbeit.
Zitat:
Wie oft gibt es denn überhaupt neue Versionen?
Zwischen 4x am Tag und einmal aller 3 Monate... Hatte ich schon alles.
Zitat:
Deine Kunden
...interne Firmenmitarbeiter. Keine Externen Kunden. Da könnte man sowas nicht machen.
Zitat:
0. Der bereits vorhanden Hinweis.
...ist im Haupmenü über ein farbiges Icon sichtbar.
Zitat:
+1 Woche nach neuer Version eventuell 1 mal täglich (gegen Mittag) erinnern.
Ich würde das täglich ein Mal machen...weil die User die Anwendung nicht herunterfahren und den Rechner morgens wieder aus dem Schlafmodus holen. Einige fahren den Rechner täglich herunter. Da gibt es kein Problem.

Geändert von haentschman (23. Aug 2020 um 11:32 Uhr)
  Mit Zitat antworten Zitat
Delphi.Narium

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

AW: Version (Eigenschaften) der gestarten exe im Netzwerk

  Alt 23. Aug 2020, 11:24
Blöde Frage:

Schickt Windows beim Einschalten des Schlafmodus irgendeine Message?

Dann könntest Du die doch ggfls. abfragen und Dein Programm beendet sich dann?

https://www.delphipraxis.net/150109-...e-standby.html
https://social.msdn.microsoft.com/Se...POWERBROADCAST
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#5

AW: Version (Eigenschaften) der gestarten exe im Netzwerk

  Alt 23. Aug 2020, 11:31
Zitat:
Dann könntest Du die doch ggfls. abfragen und Dein Programm beendet sich dann?
...automatisch beenden geht nicht.
Ich denke ich mache die "penetrante" Version. Wenn das nicht hilft, dann mache ich einen Spaziergang durch die Firma. (übersichtlich)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Version (Eigenschaften) der gestarten exe im Netzwerk

  Alt 23. Aug 2020, 16:47
Ich hab einen Thread (geht aber auch ein Timer oder Dergleichen), der beim Programmstart das Änderungsdatum der eigenen EXE ausliest und zu Laufzeit regelmäßig mit dem aktuellen Datum des selben EXE-Namen vergleicht.
Bei Unterschied wird eine MessageBox mit Timeout geöffnet, der Neustart erbeten.

Über DataSnap (das "kleine" RAD-Server) gibt es eine Notification, womit sich alle aktiven Programme manuell runterfahren/neu starten lassen.
Der Thread entstand, da die Notifications damals manchmal/ständig hingen. (Verbindung verreckte und es kam nichts mehr an)
Und die Prüfung im Thread, falls das Programm hängt. Reagiert die GUI nicht rechtzeitig, dann kommt ein TerminateProcess. (PostMessage/TThread.Queue(Message+Query), Sleep, PostMessage(Close), Sleep und letztendlich Terminate)

Existiert die EXE grade nicht, dann wird der Rest verzögert, damit während des Austauschs, wenn die neue EXE/DLL/BPL noch nicht komplett da sind, oder bei unterbrochener Netzwerkverbindung, nicht neu gestartet wird, weil das ja jetzt noch nicht geht.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (23. Aug 2020 um 17:46 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#7

AW: Version (Eigenschaften) der gestarten exe im Netzwerk

  Alt 24. Aug 2020, 06:00
Hallöle...
Zitat:
Ich hab einen Thread (geht aber auch ein Timer oder Dergleichen), der beim Programmstart das Änderungsdatum der eigenen EXE ausliest und zu Laufzeit regelmäßig mit dem aktuellen Datum des selben EXE-Namen vergleicht.
...ich auch.
  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 17:22 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