Entwickler-Ecke

Windows API - DecimalSeparator und Windows 7


Oliver Maas - Do 08.12.11 17:10
Titel: DecimalSeparator und Windows 7
Guten Tag

heute ist mir eine Merkwürdigkeit aufgefallen, ein Programm in Delphi 7 geschrieben und auf Windows XP getestet, wurde auf einen Windows 7 PC verfrachtet. Es gab Probleme der Art "... ist keine gültige Gleitkommazahl", ok, dachte ich, liegt bestimmt an unterschiedlichen Ländereinstellungen.

Eine Kontrolle ergab jedoch, dass beide Rechner Deutsch/Deutschland und das Komma als Dezimaltrenner haben. Komisch... also überprüfte ich, was DecimalSeparator jeweils enthält.

Das Kuriose: obwohl Komma als Dezimaltrenner bei dem W7 eingestellt ist, sagt DecimalSeparator, er sei Punkt. Wie kommt das denn??

Abhilfe war einfach (ich sage einfach DecimalSeparator := ','), aber schön ist das ja nicht, wenn Ländereinstellung und DecimalSeparator unterschiedlicher Meinung sind :)

Gibt es eine logische Erklärung dafür?

freundliche Grüße
Olli

Moderiert von user profile iconNarses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.


Nersgatt - Do 08.12.11 17:13

64 Bit? Ist ein bekanntes Problem.
Einmal in den Ländereinstellungen einen anderen Dezimaltrenner wählen, speichern und wieder zurückstellen.


Oliver Maas - Do 08.12.11 17:18

user profile iconNersgatt hat folgendes geschrieben Zum zitierten Posting springen:
64 Bit? Ist ein bekanntes Problem.
Einmal in den Ländereinstellungen einen anderen Dezimaltrenner wählen, speichern und wieder zurückstellen.


Ok, vielen Dank! :) Ist zwar noch ein 32 Bit Win 7, aber das könnte es natürlich gewesen sein.


baka0815 - Do 08.12.11 17:26

Das, bzw. ein ähnliches, Problem hatten wir auch schon ab und an. Wir haben dann in den Ländereinstellung den Schalter "auf Standard zurücksetzen" (oder so ähnlich) verwendet.


Delete - Do 08.12.11 21:06

wird das jetzt zum zweiten Shellexecute? :roll: