AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 23:47

Parameter dieser Suchanfrage:

Suche in Thema: GetTickCount / Fehler bei Bereichsprüfung
Suche alle Beiträge, die von "himitsu" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 7 von insges. 7 Treffern
Suche benötigte 0.002s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Object-Pascal / Delphi-Language

    AW: GetTickCount / Fehler bei Bereichsprüfung

     
      by himitsu, 16. Jan 2014
    Wenn man einfach ignoriert, daß es einen Überlauf geben könnte, dann ist es dennoch verstänglich.
  • Forum: Object-Pascal / Delphi-Language

    AW: GetTickCount / Fehler bei Bereichsprüfung

     
      by himitsu, 15. Jan 2014
    QueryPerformanceCounter scheint aber auch ein paar Macken zu haben.

    In dem Testprojekt vom himXML hatte ich das drin und auf meinem neuen i7 gibt das Ding keine verwertbaren Ergebnisse mehr raus, bzw. die Werte (also Count / Freq) stimmten absolut nicht.
    z.B. Mehere Sekunden bis Tage ausgerechnet, aber real nur paar Millisekunden gelaufen oder auch mal andersrum.
    Woran das lag, hatte ich auf...
  • Forum: Object-Pascal / Delphi-Language

    AW: GetTickCount / Fehler bei Bereichsprüfung

     
      by himitsu, 15. Jan 2014
    Casten muß man bei der Berechung eigentlich nicht. Alle Variablen müssen, während der Berechnung, nur den selben Typ besitzen.
    Je nach dem, ob Integer oder Cardinal zum Rechnen verwendet wird, gibt es immer irgendwo einen Überlauf, beim Überreiten von High und Low,
    was sich dann aber aufhebt, wenn der Wert danach wieder auf den selben Typ beschnitten wird.

    Aber dort wird dann wieder die...
  • Forum: Object-Pascal / Delphi-Language

    AW: GetTickCount / Fehler bei Bereichsprüfung

     
      by himitsu, 15. Jan 2014
    Ja, das geht ... also entweder die Variable auf DWORD/Cardinal ändern oder das Funktions-Ergebnis nach Integer casten.

    Aber, wie gesagt, du mußt auch bei den Berechnungen auspassen. (auch wenn da die Wahrscheinlichkeit viel kleiner ist, daß du diesen kleineren Zeitraum auch nochmal triffst, dort nach den fast genau 49.7 Tagen)
  • Forum: Object-Pascal / Delphi-Language

    AW: GetTickCount / Fehler bei Bereichsprüfung

     
      by himitsu, 15. Jan 2014
    Für eine Differenzberechnung reicht GetTickCount doch aus?
    Also egal ob der Wert positiv oder negativ ist.

    Zusammen mit dem Überlauf bekommt man dennoch immer einen positiven Wert raus, wenn Ende und Start summiert subtrahiert wurden. (solange die zu messende Zeit nicht größer als 2147483647 Millisekunden aka 24.86 Tage wird)

    PS: auch bei GetTickCount64 gibt es irgendwann einen Überlauf...
  • Forum: Object-Pascal / Delphi-Language

    AW: GetTickCount / Fehler bei Bereichsprüfung

     
      by himitsu, 15. Jan 2014
    Bei dem expliziten Integer-Cast wird der binäre Wert in der Variable nicht verändert.

    Man stellt da nur vor der Zuweisung die Interpretierung des höchsten Bits um, womit dann die Wertebereiche zusammen passen.

    Stell dir es so vor:
    Delphi erkennt, daß die beiden Typen nicht zusammen passen und macht intern aus deinem

    MyInteger := MyCardinal;

    ein
  • Forum: Object-Pascal / Delphi-Language

    AW: GetTickCount / Fehler bei Bereichsprüfung

     
      by himitsu, 15. Jan 2014
    Da du ja anscheinend das ganze Projekt mit aktiver bereichsprüfung kompilierst, mußt du halt an solchen Stellen aufpassen.
    (oder man deaktiviert an diesen stellen die Bereichsprüfung)

    Bei impliziten Casts wird bei dir, vom Compiler, eine Bereichsprüfung eingebaut, während das bei expliziten Casts nicht passiert.


    PS: Du mußt nicht nur bei der Zuweisung aufpassen, sondern auch bei der...


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=himitsu&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=178570
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:59 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