在应用程序启动时覆盖区域设置
Override regional settings at the application start up
我想强制我的应用程序始终使用西班牙语区域设置,使用 FormatSettings 全局变量,但应用程序忽略了这些设置。你知道我错过了什么吗?
program TestProject;
uses
Vcl.Forms,
SysUtils,
Rutinas in 'Rutinas.pas',
Conexion in 'Conexion.pas' {dmConexion: TDataModule},
MainForm in 'MainForm.pas' {frmMainForm};
{$R *.res}
begin
Application.Initialize;
FormatSettings := TFormatSettings.Create('es-ES');
Application.MainFormOnTaskbar := True;
Application.Title := Application_Name;
Application.CreateForm(TdmConexion, dmConexion);
Application.CreateForm(TfrmMainForm, frmMainForm);
Application.Run;
end.
谢谢。
PS:我知道不推荐使用 FormatSettings,因为它不是线程安全的,但这应该不是问题,因为我只在应用程序启动时更改它一次,其他任何时候我都可以需要自定义转换我使用本地 TFormatSettings 变量。
抱歉,问题不在 Delphi 上,而是在我用来呈现数据的 DevExpress 控件上。
DevExpress 使用自己的格式设置:https://www.devexpress.com/Support/Center/Question/Details/A517/how-to-use-custom-formats-for-editors
现在可以正常工作了:
program TestProject;
uses
Vcl.Forms,
SysUtils,
cxFormats,
Rutinas in 'Rutinas.pas',
Conexion in 'Conexion.pas' {dmConexion: TDataModule},
MainForm in 'MainForm.pas' {frmMainForm};
{$R *.res}
begin
Application.Initialize;
FormatSettings := TFormatSettings.Create('es-ES');
Application.UpdateFormatSettings := False;
cxFormatController.BeginUpdate;
cxFormatController.UseDelphiDateTimeFormats := True;
cxFormatController.EndUpdate;
cxFormatController.GetFormats;
cxFormatController.NotifyListeners;
Application.MainFormOnTaskbar := True;
Application.Title := Application_Name;
Application.CreateForm(TdmConexion, dmConexion);
Application.CreateForm(TfrmMainForm, frmMainForm);
Application.Run;
end.
我想强制我的应用程序始终使用西班牙语区域设置,使用 FormatSettings 全局变量,但应用程序忽略了这些设置。你知道我错过了什么吗?
program TestProject;
uses
Vcl.Forms,
SysUtils,
Rutinas in 'Rutinas.pas',
Conexion in 'Conexion.pas' {dmConexion: TDataModule},
MainForm in 'MainForm.pas' {frmMainForm};
{$R *.res}
begin
Application.Initialize;
FormatSettings := TFormatSettings.Create('es-ES');
Application.MainFormOnTaskbar := True;
Application.Title := Application_Name;
Application.CreateForm(TdmConexion, dmConexion);
Application.CreateForm(TfrmMainForm, frmMainForm);
Application.Run;
end.
谢谢。
PS:我知道不推荐使用 FormatSettings,因为它不是线程安全的,但这应该不是问题,因为我只在应用程序启动时更改它一次,其他任何时候我都可以需要自定义转换我使用本地 TFormatSettings 变量。
抱歉,问题不在 Delphi 上,而是在我用来呈现数据的 DevExpress 控件上。
DevExpress 使用自己的格式设置:https://www.devexpress.com/Support/Center/Question/Details/A517/how-to-use-custom-formats-for-editors
现在可以正常工作了:
program TestProject;
uses
Vcl.Forms,
SysUtils,
cxFormats,
Rutinas in 'Rutinas.pas',
Conexion in 'Conexion.pas' {dmConexion: TDataModule},
MainForm in 'MainForm.pas' {frmMainForm};
{$R *.res}
begin
Application.Initialize;
FormatSettings := TFormatSettings.Create('es-ES');
Application.UpdateFormatSettings := False;
cxFormatController.BeginUpdate;
cxFormatController.UseDelphiDateTimeFormats := True;
cxFormatController.EndUpdate;
cxFormatController.GetFormats;
cxFormatController.NotifyListeners;
Application.MainFormOnTaskbar := True;
Application.Title := Application_Name;
Application.CreateForm(TdmConexion, dmConexion);
Application.CreateForm(TfrmMainForm, frmMainForm);
Application.Run;
end.