AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Windows.GetTickCount64 auch unter Windows XP?

Windows.GetTickCount64 auch unter Windows XP?

Ein Thema von Glados · begonnen am 11. Okt 2017 · letzter Beitrag vom 15. Jan 2018
Antwort Antwort
Glados
(Gast)

n/a Beiträge
 
#1

Windows.GetTickCount64 auch unter Windows XP?

  Alt 11. Okt 2017, 10:41
Heute habe ich das erste mal von Windows.GetTickCount64 gehört. Kann man das auch unter Windows XP nutzen oder benötigt man für Windows XP diesen Workaround?
http://www.delphipraxis.net/711170-post5.html
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.338 Beiträge
 
Delphi 12 Athens
 
#2

AW: Windows.GetTickCount64 auch unter Windows XP?

  Alt 11. Okt 2017, 11:18
Was steht dort MSDN-Library durchsuchenGetTickCount64 in den "Requirements"?

Also ja, vor Windows 8 gibt es das nicht und man braucht was Anderes.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#3

AW: Windows.GetTickCount64 auch unter Windows XP?

  Alt 11. Okt 2017, 11:47
Heißt also das Andere ist dein Code da oben?

Braucht man denn irgendwelche Fallunterscheidungen je nach Betriebssystem oder kann man einfach die Unit oben nutzen?

Wenn ich das hier richtig verstehe sollte das doch schon als "Fallunterscheidung" reichen
Delphi-Quellcode:
GetTickCount64 := GetProcAddress(GetModuleHandle('Kernel32.dll'), 'GetTickCount64'); // Für alles ab Windows 8
if @GetTickCount64 = nil then // für alles vor Windows 8
 //

Geändert von Glados (11. Okt 2017 um 11:50 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.338 Beiträge
 
Delphi 12 Athens
 
#4

AW: Windows.GetTickCount64 auch unter Windows XP?

  Alt 11. Okt 2017, 11:56
Jupp, entweder die WinAPI oder wenn nicht existent, dann wird automatisch die Ersatzfunktion verwendet.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

AW: Windows.GetTickCount64 auch unter Windows XP?

  Alt 11. Okt 2017, 12:05
Hier gibt es dazu noch einen Artikel mit Workarounds:
http://terryto-blog.tumblr.com/post/...4-alternatives
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#6

AW: Windows.GetTickCount64 auch unter Windows XP?

  Alt 11. Okt 2017, 12:50
Zacherl, dein Artikel hat mich neugierig gemacht und die Schnelligkeit von _GetTickCount64 geprüft.

bei 999.999 aufrufen dauert die Ausführung schon knapp 400ms. Windows.GetTickCount54 braucht nur knapp 25ms.
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.683 Beiträge
 
Delphi 5 Professional
 
#7

AW: Windows.GetTickCount64 auch unter Windows XP?

  Alt 11. Okt 2017, 14:29
Also ja, vor Windows 8 gibt es das nicht [...]
Auch wenn im weiter oben geposteten Code schon die richtige if -Bedingung benutzt wird: GetTickCount64 gibt's ab Vista, nicht erst ab Win8. Vermutlich haben deine Augen der Angabe "Windows Phone 8" zuviel Aufmerksamkeit geschenkt .

Grüße
Dalai
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#8

AW: Windows.GetTickCount64 auch unter Windows XP?

  Alt 11. Okt 2017, 14:45
Zitat:
dann sparst du dir noch ein (verstecktes) Funktionsargument und zusätzlich die (nicht benötigten) RTTI-Infos für die Klasse
Alles erledigt. Der Speicherverbrauch ist sogar etwas gesunken.

Durch die Änderung von class zu record habe ich sogar noch ein paar Compilerfehler bekommen an Stellen, wo ich static vergessen hatte hinzuzufügen.
Habe dann direkt auch mal alle packed records in records umgeschrieben.

Ich denke nun ist alles klar.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:04 Uhr.
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