Program piszę i kompiluję w Delphi XE na Windows XP.
Dla poprawnego wyświetlania liczb rzeczywistych jako stringów pobieram z systemu Symbol Dziesiętny.
GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, fs);
separator:=fs.DecimalSeparator;
Na systemach 32 bitowych (testowałem XP i Vista) wszystko działa poprawnie - tzn. powyższy kod zwraca taki symbol dziesiętny jaki jest ustawiony przez Użytkownika w Panelu Sterowania (najczęściej przecinek lub kropka).
Problem pojawia się pod Windows 7 64 bit.
Niezależnie od tego, że ustawionym symbolem dziesiętnym jest przecinek, to w programie każdorazowo wyświetlana jest kropka. To samo dotyczy powyższej funkcji, która zawsze zwraca "."
Pomimo tego, że użytkownik w Excelu używa przecinka, to uruchamiając mój program jako symbol dziesiętny widzi zawsze kropkę ???
**Co jest powodem tego, że program skompilowany na XP i uruchomiony pod Windows 7 64 bit nie potrafi odczytać właściwego symbolu dziesiętnego ? **