[fpc-pascal] DecimalSeparator automatic change ?

LacaK lacak at zoznam.sk
Fri Jan 17 14:07:10 CET 2014


Michael Van Canneyt  wrote / napĂ­sal(a):
>
>
> On Fri, 17 Jan 2014, LacaK wrote:
>
>> Hi,
>> I have strange problem, I have application on Windows 2012 Server, 
>> where is set locale to Slovak (DecimalSeparator is comma)
>> In my application in DataModuleCreate I explicitly set 
>> FormatSettings.DecimalSeparator='.' (dot)
>> All works as expected (decimal numbers are formated with "dot"), but 
>> after some time (hours) when application runs, DecimalSeparator 
>> changes back to "comma" ?
>> Is it possible ?
>> AFAIK International settings are initialised once in sysutils 
>> initialization section, or are they reevaluated later ?
>
> They are initialized once in FPC.
>
> But there is a windows message that notifies applications when the 
> settings change:
>
> http://stackoverflow.com/questions/7385357/window-message-notification-language-and-locale 
>
>
> Maybe lazarus picks it up.
>
Thank you Michael,
it is exactly so.

Lazarus catch WM_SETTINGCHANGE and calls Application.IntfSettingChange 
which calls GetFormatSettings in SysUtils
It can be switched off by setting Application.UpdateFormatSettings:=False;

Interesting ...
Thanks
-Laco.




More information about the fpc-pascal mailing list