AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Programm nach keiner Benutzeraktion nach 10 min schließen
Thema durchsuchen
Ansicht
Themen-Optionen

Programm nach keiner Benutzeraktion nach 10 min schließen

Ein Thema von itblumi · begonnen am 20. Dez 2010 · letzter Beitrag vom 21. Dez 2010
Antwort Antwort
itblumi

Registriert seit: 28. Mär 2009
73 Beiträge
 
Delphi XE6 Professional
 
#1

Programm nach keiner Benutzeraktion nach 10 min schließen

  Alt 20. Dez 2010, 17:17
Hallo Leute,

ich habe eine Anwendung geschrieben die über viele Formulare verfügt.
Jetzt möchte ich gern, dass meine Anwendung nach 10 min geschlossen wird, wenn der
Benutzer keine Eingabe gemacht hat.
Ich möchte nicht in jedem Formular auf jeder Schaltfläche prüfen ob etwas gemacht wird.
Habt ihr Vorschläge wie man das global machen kann?
Jan
Ein neuer Tag bringt so einiges mit sich. Was auch immer es ist, es bleibt ein kleines Abenteuer.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Programm nach keiner Benutzeraktion nach 10 min schließen

  Alt 20. Dez 2010, 17:21
In Application Events KeyEvents und MouseEvents nutzen um "LastActivity=now" zu setzen.
Ein Timer der jede Sekunde prüft ob LastActivity länger als 10 Minuten her ist.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#3

AW: Programm nach keiner Benutzeraktion nach 10 min schließen

  Alt 20. Dez 2010, 17:52
Alernativ kenne ich folgendes System: wenn du ein Programm startest, dann wird eine "Session" gestartet, die nach x Minuten abläuft, selbst wenn der User die Applikation nutzt. Es gibt eine Schaltfläche, über welche der User diese Session verlängern kann -- hier wäre auch denkbar, dass man nur n mal den Button klicken darf. Somit muss der Benutzer immer aktiv auf einen Button klicken!

Ganz wichtig ist bei beiden Verfahren, dass du den Benutzer über die "Restlaufzeit" benachrichtigst, sodass er weiß, wann sich die Applikation schließt.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: Programm nach keiner Benutzeraktion nach 10 min schließen

  Alt 20. Dez 2010, 21:00
@s.h.a.r.k
Totmannschaltung
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
itblumi

Registriert seit: 28. Mär 2009
73 Beiträge
 
Delphi XE6 Professional
 
#5

AW: Programm nach keiner Benutzeraktion nach 10 min schließen

  Alt 20. Dez 2010, 21:07
Zitat:
In Application Events KeyEvents und MouseEvents nutzen um "LastActivity=now" zu setzen.
Ein Timer der jede Sekunde prüft ob LastActivity länger als 10 Minuten her ist.
Leider gibt es aber direkt bei der Application keine Key/Mouse Events, die gibt es nur in den Formularen oder gibt es eine Methode die direkt aus der API zu implementieren? Wenn ja könntest du mir ein Beispiel geben.

Zitat:
Alernativ kenne ich folgendes System: wenn du ein Programm startest, dann wird eine "Session" gestartet, die nach x Minuten abläuft, selbst wenn der User die Applikation nutzt. Es gibt eine Schaltfläche, über welche der User diese Session verlängern kann -- hier wäre auch denkbar, dass man nur n mal den Button klicken darf. Somit muss der Benutzer immer aktiv auf einen Button klicken!

Ganz wichtig ist bei beiden Verfahren, dass du den Benutzer über die "Restlaufzeit" benachrichtigst, sodass er weiß, wann sich die Applikation schließt.
Der Benutzer muss sich nach dieser Zeit neu im System anmelden und ein Button auf den er immer klicken muss ist nicht sehr Benutzerfreundlich. Spätestens nach 10 klicks würde mir das auf den Geist gehen.
Jan
Ein neuer Tag bringt so einiges mit sich. Was auch immer es ist, es bleibt ein kleines Abenteuer.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Programm nach keiner Benutzeraktion nach 10 min schließen

  Alt 20. Dez 2010, 21:09
Wie wäre es den mit folgender Lösung...

Delphi-Quellcode:
function LastInput: DWord;
var LInput: TLastInputInfo;
begin
  LInput.cbSize := SizeOf(TLastInputInfo);
  GetLastInputInfo(LInput);
  Result := GetTickCount - LInput.dwTime;
end;

//Aufruf über TTimer
try
  if Lastinput > CancelTime then //CancelTime bei 10min 1000*60*10
    UserCancelling;
except
  //
end;
Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#7

AW: Programm nach keiner Benutzeraktion nach 10 min schließen

  Alt 20. Dez 2010, 21:27
Der Benutzer muss sich nach dieser Zeit neu im System anmelden und ein Button auf den er immer klicken muss ist nicht sehr Benutzerfreundlich. Spätestens nach 10 klicks würde mir das auf den Geist gehen.
Das kommt auf die Anforderungen des System selbst drauf an. Ist eben nur eine Alternative Idee. Wobei mir der Mehraufwand sehr wohl bewusst ist.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#8

AW: Programm nach keiner Benutzeraktion nach 10 min schließen

  Alt 20. Dez 2010, 21:38
DELETED

EDIT:
nimm die Routine von Jens Hartmann
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi (20. Dez 2010 um 21:44 Uhr)
  Mit Zitat antworten Zitat
itblumi

Registriert seit: 28. Mär 2009
73 Beiträge
 
Delphi XE6 Professional
 
#9

AW: Programm nach keiner Benutzeraktion nach 10 min schließen

  Alt 21. Dez 2010, 06:52
Danke an alle die mir geholfen haben. Die Funktion ist echt Klasse, Danke Jens.
Jan
Ein neuer Tag bringt so einiges mit sich. Was auch immer es ist, es bleibt ein kleines Abenteuer.
  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 18:33 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