Forum: Object-Pascal / Delphi-Language
by DeddyH,
15. Jan 2014
Wenn sich intFreq aus QueryPerformanceFrequency ergibt, müsste das stimmen. Aber wieso erst mit 1000 multiplizieren und dann wieder dividieren?
Forum: Object-Pascal / Delphi-Language
by DeddyH,
15. Jan 2014
IMO schon, nur bleibt eben das Problem mit der Uptime > 49,7 Tage. IIRC besteht das nicht, wenn man statt GetTickCount QueryPerformanceCounter und QueryPerformanceFrequency verwendet, sofern GetTickCount64 nicht in Frage kommt.
Forum: Object-Pascal / Delphi-Language
by DeddyH,
15. Jan 2014
Du willst doch sicherlich eine Zeitmessung implementieren. Wenn Du nun mit GetTickCount eine Startzeit ermittelst und wiederum mit GetTickCount eine Endzeit, dann kann es passieren, dass die Endzeit negativ ist und die Startzeit positiv. Wenn Du nun also einfach so subtrahierst, ziehst Du eine positive Zahl von einer negativen ab, erhältst somit eine negative, mit der Du im Grunde nichts anfangen...
Forum: Object-Pascal / Delphi-Language
by DeddyH,
15. Jan 2014
Wie von himitsu schon angedeutet musst Du dann aber berücksichtigen, dass der Wert nach 24,85 Tagen negativ wird und GetTickCount nach 49,7 Tagen wieder bei 0 beginnt.
Forum: Object-Pascal / Delphi-Language
by DeddyH,
15. Jan 2014
Welche Variante meinst Du, den Cast? Nunja, nach einer Uptime von knapp 25 Tagen wird das Ergebnis dann negativ, das Kernproblem bleibt also. Spricht denn etwas gegen GetTickCount64 wie von MS empfohlen?
Forum: Object-Pascal / Delphi-Language
by DeddyH,
15. Jan 2014
Welche Variante meinst Du, den Cast? Nunja, nach einer Uptime von knapp 25 Tagen wird das Ergebnis dann negativ, das Kernproblem bleibt also. Spricht denn etwas gegen GetTickCount64 wie von MS empfohlen?
Forum: Object-Pascal / Delphi-Language
by DeddyH,
15. Jan 2014
GetTickCount
Evtl. bringt es ja schon Besserung, giTimerStart als DWORD zu deklarieren oder bei der Zuweisung zu casten.
If gsPerformCheck = 'YES' Then giTimerStart := integer(GetTickCount());