Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Probs mit Datum- / Zeitfunktionen (https://www.delphipraxis.net/140302-probs-mit-datum-zeitfunktionen.html)

TERWI 16. Sep 2009 17:03

Re: Probs mit Datum- / Zeitfunktionen
 
... hab ich ja schon einige Male gemacht.
Ich konnte sehen, das in einem Zeitraum von ges. etwa 3 Stunden die Zeit plötzlich 13 Minuten vor ging.
Habe das Prog beendet und noch ein paar Log's zusätzlich reingeschrieben.
Nur mal Zeit auslesen mit Time oder GetTime (das gleiche !?) oder Now zerlegt...
Blieb bei dem Versatz. Hab den Rechner neu gestartet und wieder alles gut.
Selbe Spiel noch mal - keine Probleme.
Aufnahmen programiert - ein Tag gut, anderer Tag 2. Aufnahme zu spät, usw.
Ich las das noch mal loggen (aber erst am WE hab ich wieder Zeit) und poste das hier mal.
Ementare Auszüge vom Prog schreib ich dann auch dazu.

Na klar kann man mal die eine oder andere Bohle vorm (im ?) Hirn haben und es geht einfach nicht weiter.
Vor allem wenn man stunden-/tagelang wie besessen davorsitzt ' ... muss doch gehen ?!'.
Da hab ich auch kein Problem, wenn mich da einer wegen eines eklatanten Denk-/Tippfehler's anfrotzelt.
Ich seh/find da aber absolut nix...
Und A) hab ich das auch schon mal tagelang zum Kopf frei machen an die Seite gelegt
und B) funktioniert es ja prinzipiell zu einem sehr hohen Prozentsatz
was mich nicht glauben lassen will, dass ein grundsätzlicher Denk-/Tipp-Fehler drin ist.

Wie Eingangs schon angesprochen, vermute ich irgendwas anderes im Rechner, was die Zeit in unregelmäßigen Abständen mit unregelmäßigem Versatz verstellt.
Aber was soll/kann das sein ? Maschine sollte (ist) sauber und es wird auch nix 'ungewöhnliches gestartet.
Na gut, man soll niemals nie sagen...

Deswegen die Frage, woher Delphi denn eigentlich seine Zeit bezieht (BIOS oder WinDoof).
Ich hatte die DateTime-Funktionen selbst eigentlich nicht in Verdacht !
Vielleicht ist das ja ein Board-Prob ? Kommt eh am WE ein neues rein ....
Oder Temeratur irgendwie/-wo ?
Oder....

p80286 16. Sep 2009 17:39

Re: Probs mit Datum- / Zeitfunktionen
 
Hallo TERWI,

da Du immer auf dem boot herum reitest, riecht das sehr nach dem Timertick, der läuft ja nach 2 Tagen über(?).

Soweit ich weiß kommst Du unter Windows nicht mehr an die BIOS-Zeit heran (DOS läßt grüßen!) Da gab es in den letzten 6 Monaten auch mal einen thread zu.

Du holst Dir nicht zufälliger Weise die Zeit von einem Zeitserver??

Gruß
K-H

TERWI 16. Sep 2009 18:55

Re: Probs mit Datum- / Zeitfunktionen
 
Zitat:

Du holst Dir nicht zufälliger Weise die Zeit von einem Zeitserver??
Aaaaarrgghhh ! Oder auch a la Donald Duck & Co.: Kreisch !

Daran habe ich ehrlich gesagt überhaupt nicht dran gedacht.
time.windows.com ist eingestellt und angehakt....

Das kann - muss aber nicht - die / eine Fehlerquelle sein.
Halte ich aber für möglich, da im Fenster 'Eigenschaften von Datum und Uhrzeit' die nächste Aktualisierung erst morgen um 18:04 angekündigt ist.
Das erklärt zumindestens, das meine 'Kurzzeitversuche' immer klappen - nur wenn's denn mal länger dauert ...

Stellt sich nur die Frage, warum die Zeit falsch eingestellt wird ?
Ich habe dem Haken auf jedenfall schon mal entfernt und werde das am WE mal wieder ausgiebig testen.

K-H... ein MegaDank an dich :cheers:
Trotzdem abwarten und Tee ? trinken.

Sonst noch jemand ne Idee ?

TERWI 16. Sep 2009 19:08

Re: Probs mit Datum- / Zeitfunktionen
 
Ergänzung @K-H
Zitat:

da Du immer auf dem boot herum reitest, riecht das sehr nach dem Timertick, der läuft ja nach 2 Tagen über(?).
... bisher bin ich ein einziges Mal (und das vergesse ich nicht) darauf hereingefallen und benutze den Tickcount nur für (sehr) kurze Prüfungen in Schleifen als KO-Abbruchkriterium für TimeOut's.
Eine sicherlich bei vielen bekannte und bei unerklärlichen Fehlern oft angewendete Methode nach dem uralten Spruch schon aus DOS-Zeiten:
Zitat:

(Re-) Boot tut gut
8)

Zitat:

Soweit ich weiß kommst Du unter Windows nicht mehr an die BIOS-Zeit heran (DOS läßt grüßen!) Da gab es in den letzten 6 Monaten auch mal einen thread zu.
Mehr oder weniger korrekt. DenThread habe ich noch nicht gesucht / bei Zeiten gefunden.
Nochmal:
Zitat:

Deswegen die Frage, woher Delphi denn eigentlich seine Zeit bezieht (BIOS oder WinDoof).
Welcher Delphi-/WinDoof-Insider weiß denn das ?
(genau)

sx2008 17. Sep 2009 01:16

Re: Probs mit Datum- / Zeitfunktionen
 
Zitat:

Zitat von TERWI
Deswegen die Frage, woher Delphi denn eigentlich seine Zeit bezieht (BIOS oder WinDoof).

Date, Time und New beziehen ihre Werte über die API-Funktion GetLocalTime.
GetLocalTime stützt sich wiederum auf GetSystemTime.
Die Systemzeit von GetSystemTime wird anfangs über die Real Time Clock im BIOS initialisiert
und wird dann IHMO mit Hilfe von GetTickCount weitergerechnet.
Die Systemzeit kann von der RTC abweichen (über die Funktion SetSystemTimeAdjustment).

Wenn du den Verdacht hast, dass da irgendetwas nicht stimmt, dann schreib dir doch ein Testprogramm.
Beim Programmstart die aktuelle Zeit über New() holen und merken.
Das Gleiche mit GetTickCount ausführen.
Einen Timer starten, der jede Sekunde Folgendes tut:
Delphi-Quellcode:
MillisekundenSeitStart1 := (now()-startzeit) * MSecsPerDay;
MillisekundenSeitStart2 := GetTickCount()-startticks;

if Abs(MillisekundenSeitStart2-MillisekundenSeitStart1) > 100 then
begin
  // Meldung in Memo schreiben, dass Zeitabweichung festgestellt wurde
  // und wie gross diese ist
end;
Eine Manipulation an der Systemzeit, der Wechsel von Sommer- zu Winterzeit oder Änderung
der Zeitzone sollte sofort eine Meldung hervorrufen.
Nach 49.7 Tagen gibt es in GetTickCount einen Überlauf und damit ebenfalls eine Meldung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:09 Uhr.
Seite 2 von 2     12   

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