Hallo dGeek,
[edit] erst mal, es gibt keine dummen Fragen, nur leider viel zu oft dumme Antworten[/edit] ...das wollte ich noch los werden
Zitat:
damit ich die neuen APIs (siehe oben) nutzen kann ..
- muss ich meine Software unter Windows 8.1 kompilieren
nein
Zitat:
- kann ich die aktuell auch mit meinem XE2 unter Windows 7 Home Edition nutzen
bringt nur ab Win 8 was
Zitat:
- brauche ich eine neue Delphi-Version UND Windows 8.1?
Das geht mit (fast???) jedem Delphi, ist ja
WinApi
Soweit ich das verstehe - also Bitte an die Wissenden: korrigieren wenn ich es falsch verstanden habe - die neue
API ist ein Ersatz für die alten Funktionen GetVersion und GetVersionEx
ab Windows 8.0. Mit allen vorherigen Versionen funktioniert GetVersion und GetVersionEx nach wie vor. Es gibt auch keine Fehlermeldung, wenn du die Beiden unter 8.0, 8.1, Server 2012 usw. verwendest. Es werden aber nicht mehr alle Daten in der TOSVersionInfoEx zur Verfügung gestellt, z.B. die "dwBuildNumber". GetVersion und GetVersionEx sind also ab Windows 8.0 nicht mehr geeignet, die Windows-Version zu bestimmen.
Das war ja mein Ansatz: Wenn sich die MS-Ler schon für neuere Windows-Versionen immer wieder neue Tugenden einfallen lassen um die Version zu bestimmen, dann habe ich doch mit "älterer" (vor einigen Jahren compilierter) Software generell das Problem, dass eine neue Windows-Version mit GetVersionEx gar nicht erkannt wird. Die alte Software glaubt, sie läuft immer noch unter Win7. Und das ist das Fatale daran, wenn man sich früher ausschließlich auf GetVersionEx verlassen hat. Und darum bin ich auch froh darüber, zusätzlich zu GetVersionEx die Build-Nummer aus der Registry ausgelesen zu haben. Der Vergleich ergibt nämlich bei
meiner alten Software einen Unterschied, und das ist der Nutzen daran. Wie man mit der Erkennung des Unterschiedes umgeht, darüber wurde ja schon diskutiert.
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen