Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Spezielle Message, wenn Taskmanager Programm beendet (https://www.delphipraxis.net/155364-spezielle-message-wenn-taskmanager-programm-beendet.html)

Ines 21. Okt 2010 06:43

AW: Spezielle Message, wenn Taskmanager Programm beendet
 
Hallo und guten Morgen!

Zitat:

Zitat von Sir Rufo (Beitrag 1056793)
Die Frage ist, was möchtest du erreichen?

Soll die Datei unbedingt gelöscht werden oder die Datenbank-Verbindung getrennt.
Die Anwendung selber kann nichts mehr machen (das ist ja jetzt klar geworden).

Ich erstellte beim Programmstart ein ini-File. Wird das Programm erneut gestartet und das ini-File besteht noch, dann erhält der Nutzer den Hinweis, seinen Rechner zu booten, außerdem wird das Programm nicht ausgeführt.
Momentan habe ich das Löschen des ini-Files im FormClose untergebracht. Ich ändere mein Programm dahingehend, daß das ini-File beim Klicken auf "Programm beenden" gelöscht wird. Außerdem werde ich den "X"-Button des Formulars unterdrücken. Damit dürfte ich dann auf dem richtigen Weg sein.:?

Der Nutzer soll weiterhin die Möglichkeit haben ein Programm mit dem Taskmanager zu beenden. Allerdings soll er dann anschließend den Rechner booten.

Viele Grüße
Ines

youuu 21. Okt 2010 07:38

AW: Spezielle Message, wenn Taskmanager Programm beendet
 
Zitat:

Zitat von Ines (Beitrag 1056836)
Außerdem werde ich den "X"-Button des Formulars unterdrücken


Wieso? Das OnClose Ereignis reagiert doch beim Beenden des programms, sei es durch "X"-Button oder sonst wie, (ausgenommen per Taskmanager "Prozess beenden")

Falls das schon geklärt sein sollte, Entschuldige ich ich hab nicht alles gelesen :)

Sir Rufo 21. Okt 2010 08:13

AW: Spezielle Message, wenn Taskmanager Programm beendet
 
Man sollte aber vorher noch prüfen ob das Programm noch aktiv ist, sonst startet der User das Programm doppelt und er bekommt den Hinweis, doch bitte den Rechner zu booten.

Was bringt der Neustart des Rechners für die Anwendung?
Also ist es wirklich notwendig den User damit zu nerven?

Ines 21. Okt 2010 09:00

AW: Spezielle Message, wenn Taskmanager Programm beendet
 
Zitat:

Zitat von youuu (Beitrag 1056841)
Wieso? Das OnClose Ereignis reagiert doch beim Beenden des programms, sei es durch "X"-Button oder sonst wie, (ausgenommen per Taskmanager "Prozess beenden")

Das OnClose-Ereignis wird auch ausgeführt bei Taskmanager - Task beenden.

Zitat:

Zitat von Sir Rufo (Beitrag 1056846)
Was bringt der Neustart des Rechners für die Anwendung?
Also ist es wirklich notwendig den User damit zu nerven?

Aus der VMS-Process-ID (wird beim PC-Start am Server generiert) wird für die Datenbank (und andere Programme) ein interner Account gebildet. Startet der Nutzer eine Abfrage, die ihm zulange dauert und er beendet das Delphi-Programm, so wird dieser interne Account nicht gelöscht und die Abfrage läuft am Server munter weiter.
Bootet der Nutzer allerdings seinen PC, so meldet der Server allen Programmen (und damit auch der Datenbank), daß dieser Nutzer nicht mehr besteht. Abfragen, die noch durchgeführt werden, werden dann von der Datenbank sofort verworfen.
Ich will den Nutzer nicht mehr als nötig nerven. Aber ich reagiere auf die Frage "Warum dauern Abfragen heute so lange" auch allmählich.... :evil:

Viele Grüße
Ines

himitsu 21. Okt 2010 09:19

AW: Spezielle Message, wenn Taskmanager Programm beendet
 
Liste der Anhänge anzeigen (Anzahl: 1)
Dann wäre es doch einfacher dem Server selber zusagen "verwerfe bitte diesen Benutzer", wenn das Programm gestartet wird und vorher nicht korrekt beendet wurde.

Oder sag dem Server er soll alles verwerfen, welches zu alt ist.

Luckie 21. Okt 2010 09:37

AW: Spezielle Message, wenn Taskmanager Programm beendet
 
Ich weiß ja nicht wie deine Benutzer an dem Rechner arbeiten, aber wenn das Datenbank-Programm ein essentielles Programm ist, was er unbedingt braucht und er noch andere wichtige Programme auf hat, dann würde mich als Benutzer das neubooten tierisch nerven, weil ich dann alle Programme und Dateien neu starten und öffnen müsste. Und bis ich dann wieder da bin, wo ich vorher war dürfte einige Zeit vergehen und ich wäre, wie schon gesagt, tierisch genervt.

Ines 21. Okt 2010 09:58

AW: Spezielle Message, wenn Taskmanager Programm beendet
 
Zitat:

Zitat von himitsu (Beitrag 1056860)
Dann wäre es doch einfacher dem Server selber zusagen "verwerfe bitte diesen Benutzer", wenn das Programm gestartet wird und vorher nicht korrekt beendet wurde.
Oder sag dem Server er soll alles verwerfen, welches zu alt ist.

Funktioniert beides nicht, da ich weder die interne Process-ID kenne noch Abfragen von anderen Nutzern stoppen kann (und will) die ein Zeitlimit überschritten haben.

Zitat:

Zitat von Luckie (Beitrag 1056865)
Ich weiß ja nicht wie deine Benutzer an dem Rechner arbeiten.. Und bis ich dann wieder da bin, wo ich vorher war dürfte einige Zeit vergehen und ich wäre, wie schon gesagt, tierisch genervt.

Deshalb suche ich ja nach einer Lösung. Ich lösche mein ini-File, wenn der Nutzer auf "Programm beenden" klickt. Wird das Programm über "Task beenden" beendet, dann erhält er einen Hinweis. Beim Neustart des Programms und vorhandenem ini-File wird das Programm beendet (andere Programme können weiterhin gestartet werden) und der Nutzer hat die Möglichkeit, zu einem späteren, (besseren?) Moment seinen Rechner zu booten.

Ich bin ganz Deiner Meinung: - Booten nervt, - Wiederholtes Aufrufen und Einloggen in ein Programm nervt, allerdings lange Wartezeiten nerven auch.
Und eine einmal abgeschickte Abfrage an den Server kann ich nicht "zurückholen".

Ines

youuu 21. Okt 2010 10:15

AW: Spezielle Message, wenn Taskmanager Programm beendet
 
Was sind denn das für Abfragen die so extrem lange dauern sollen?
Über wieviel Datensätze reden wir die aufgelistet werden bei einer Abfrage?

Vielleicht kann man ja dort auch Optimierungen vorschlagen, das der "Kunde" gar nicht erst in Versucng kommt, dein Progamm einfach zu beenden?

Luckie 21. Okt 2010 10:20

AW: Spezielle Message, wenn Taskmanager Programm beendet
 
Schreib doch die ProzessID mit in die Ini-Datei. Wenn das Programm neu gestartet wird, ist die ProzessID anders und...

Jetzt habe ich den Faden verloren, was ich für eine Idee hatte. :?

youuu 21. Okt 2010 10:22

AW: Spezielle Message, wenn Taskmanager Programm beendet
 
Zitat:

Zitat von Luckie (Beitrag 1056885)
Schreib doch die ProzessID mit in die Ini-Datei. Wenn das Programm neu gestartet wird, ist die ProzessID anders und...

Jetzt habe ich den Faden verloren, was ich für eine Idee hatte. :?

WOlltest du etwa sagen: Ist die ProzessID anderst, soll die alte ProzessID beendet werden und die neue gestartet? :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:27 Uhr.
Seite 2 von 4     12 34      

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