AW: Realisierung Programm wurde gewisse Zeit nicht bedient ?
Hallo,
vielen dank für die Antworten. Ist ein eigenes Programm, wird mit dem Programm x Zeit nichts mehr gemacht (kein DB-Zugriff, kein Klicken mehr...rein gar nichts), so soll über dieses Ereignis eine Waage in Stand by geschaltet werden. Wird immer vergessen.... Gruss |
AW: Realisierung Programm wurde gewisse Zeit nicht bedient ?
GetTickCount macht in diesem Fall keinerlei Probleme, da LASTINPUTINFO das selbe Format verwendet.
Es gäbe also nur Probleme, wenn der User 49,7 Tage lang nichts mehr am PC gemacht hat. Und durch die Verwendung eines Ersatzes für GetTickCount läßt sich auch nichts verbessern, da LASTINPUTINFO dennoch beschränkt wäre. |
AW: Realisierung Programm wurde gewisse Zeit nicht bedient ?
Zitat:
Ich denke mal das so lange sicherlich nicht gemeint ist und länger als ne halbe oder ganze Stunde he kaum in betracht kommt! Alles was schon länger ist, ist ja im betrieblichen Einsatz schon reine verschwendung! Gruss alfold |
AW: Realisierung Programm wurde gewisse Zeit nicht bedient ?
Zitat:
Zitat:
Der Überlauf kann an beliebiger Stelle kommen. Die Tatsache daß LASTINPUTINFO es auch verwendet macht's eigentlich eher schlimmer, weil dann einfach dort das gleiche Problem dort auftritt. Fazit: Ab Vista GetTickCount64 statt GetTickCount verwenden oder Vorkehrungen treffen damit der Überlauf nicht alles versaut. Vorkehrungen müssen in jedem Fall bei LASTINPUTINFO getroffen werden, weil es scheinbar kein 64bittiges Pendant gibt. |
AW: Realisierung Programm wurde gewisse Zeit nicht bedient ?
Zitat:
|
AW: Realisierung Programm wurde gewisse Zeit nicht bedient ?
Zitat:
|
AW: Realisierung Programm wurde gewisse Zeit nicht bedient ?
Zitat:
LASTINPUTINFO = wann hatte der Benutzer zuletzt was gemacht (seit dem Systemstart aka Wert von GetTickCount) GetTickCount = wie lange läuft das System schon Bei der Differenzberechnung hat ein "Überlauf" in diesen Werten keine Auswirkung, solange beide Werte keine Differenz von mehr als die 47 Tage haben. |
AW: Realisierung Programm wurde gewisse Zeit nicht bedient ?
Ich mag mich täuschen, aber werden da nicht im worst case Äpfel mit Birnen verglichen?
GetTickCount -> Zeit seit dem Systemstart GetLastInputInfo -> Zeit seit der letzten Benutzeraktion in der aktuellen Session Es kann also sein, dass beim Einen ein Überlauf eintritt, beim Anderen aber nicht (sofern ich keinen groben Denkfehler mache). |
AW: Realisierung Programm wurde gewisse Zeit nicht bedient ?
Delphi-Quellcode:
var
c,d:cardinal; i:Integer; Procedure AddAndDisplay; begin c := c + 10; d := d + 10; Memo1.Lines.Add(IntToStr(c-d) + ' - ' + IntToStr(c) + ' - ' + IntToStr(d)); end; begin c := 4294967290; d := c - 20; Memo1.Lines.Add(IntToStr(c-d) + ' - ' + IntToStr(c) + ' - ' + IntToStr(d)); for I := 0 to 10 do AddAndDisplay; end; |
AW: Realisierung Programm wurde gewisse Zeit nicht bedient ?
Zitat:
@Bummi: kein Delphi hier zur Hand. Demo des Überlauf's verstehe ich, aber ob dort das zu erwartende Ergebnis kommt, weiß ich erst nach Testlauf :zwinker: Zitat:
Nachtrag: Zitat:
Nunja, dank Überlauf stimmt die Rechnung nun leider nicht mehr ganz. Denn $12C - $FFFFF8F7 ... und das alles ohne Vorzeichen kann ziemlichen Quark hervorbringen ;) Soo, 1s Abweichung in den obigen Rechnungen mögen mir gestattet sein :mrgreen: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:29 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