Thema: Delphi Logout nach Zeit

Einzelnen Beitrag anzeigen

Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#11

Re: Logout nach Zeit

  Alt 12. Sep 2008, 12:41
Zitat von Sherlock:
Microsoft schon So funktionieren halt Bildschirmschoner, oder das Sperren eines Arbeitsplatzes.
Da sieht man mal was die unter Arbeit verstehen

Zum Problem mit den modal Dialogen:
Ich hatte dasselbe Problem mal in einer .NET Anwendung unter Visual Studio. Meine Lösung bestand darin, alle Forms deiner Anwendung von einer Basisform abzuleiten, und den Konstructor und Destructor zu überschreiben. Bei jedem Create knallst du die Form in eine zentrale ObjectList rein, bei jedem Destroy schmeisst du sie wieder raus. Die List hat den Vorteil, dass sie, wenn sie von hinten nach vorn durchgearbeitet wird, dir die richtige Schliess-Reihenfolge der Fenster gibt.

Tritt jetzt also ein Timeout ein, so schliesse einfach alle Fenster aus der Liste im Application Event. Vergiss aber nicht zu überprüfen, ob das Close funktioniert, denn es kann unter gewissen Umständen nämlich fehlschlagen, z.B. wenn eine MessageBox grad noch geöffnet ist.

Ich bin damals sogar noch einen Schritt weiter gegangen. Statt über ein normales Close zu schliessen, habe ich eine virtuelle Methode ForceClose in der Basisform implementiert, die dann bei Bedarf noch in jeder Childform überschrieben werden kann, und eventuell noch z.B. Rollbacks in der Datenbank durchzuziehen.
  Mit Zitat antworten Zitat