AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi Windows7 RegionalSettings

Ein Thema von peschai · begonnen am 2. Dez 2010 · letzter Beitrag vom 2. Dez 2010
 
Benutzerbild von peschai
peschai

Registriert seit: 15. Feb 2004
Ort: Göppingen
270 Beiträge
 
Delphi XE5 Professional
 
#1

Delphi Windows7 RegionalSettings

  Alt 2. Dez 2010, 10:11
Für interessiert Leute...

Die Initialisierung von Delphiprogrammen mit RegionalSettings erfolgt unter Windows7 ...

SysUtils: GetFormatSetting mit z.b. GetLocaleChar mit GetThreadLocale
Einige Programme könnten mit englischen RegionalenEinstellungen arbeiten, obwohl via Systemsteuerung alles OK (z.b auf Deustch gestellt) ist.
Datumsformate oder Gleitkommazahlen könnten damit evt. falsch interpretiert werden...was zu geringen aber auch gravierende Auswirkungen führen könnte.
(Interessanterweise tritt das Problem z.b. in Excel2010 nicht auf.)

Das Problem ist ein falscher Registryeintrag. Vermutlich tritt dies bei einer Windows 7 Multi-Language Version auf, die dann bei der Installation auf Deutsch gesetzt wurde. Bei einer rein deutschen Version tritt dieses Problem wahrscheinlich nicht auf. Nach Änderung der Registry sollte der Rechner durchge´startet werden (evt. reicht User neu anzumelden).

Natürlich hier auch der Hinweis, daß unsachgemäße Änderung an der Registry den Computer lahmlegen könnten, also vorher ein Backup machen ...)

Bei deutscher Sprache "de-DE" darf die WindowsAPI Funktion "GetThreadLocale" nicht 0x0409 zurückgeben sondern muss 0x0407 zurückgeben. 0x0409 bedeuted "en_US" und es zeigt sich dass dies nicht zu den anderen Einstellungen inder Registry passt.[HKEY_CURRENT_USER\Control Panel\International]
Falsch:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\International]
"Locale"="00000409"
"LocaleName"="de-DE"
Richtig:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\International]
"Locale"="00000407"
"LocaleName"="de-DE"
..Oder beri anderen Sprachen sollte das paarweise zusammenpassen, hier gezeigt am Beispiel "en-US"
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\International]
"Locale"="00000409"
"LocaleName"="en-US"
Peter Schaible
  Mit Zitat antworten Zitat
 


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 00:35 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