Man könnte zwar auch die Spracheinstellungen des Systemaccounts ändern, aber dann könnte es passieren, dass andere Dienste nicht mehr funktionieren, da sie dort war Anderes erwarten, weil
nie selten jemand daran rumspielt.
Alternativ kannst'e deinen Service auch in einem UserAccount laufen lassen, welcher die passenden Einstellungen besitzt,
aber wenn ein Programm eh ein "definiertes" Format benötigt, unabhängig von den Systemeinstellungen, dann ist es eh besser, das auch selbst im Programm zu machen.
Alle Werte/Felder einzeln manuell zu setzen machst du aber nicht?
Delphi-Quellcode:
System.SysUtils.FormtSettings := TFormatSettings.Create('de-DE');
System.SysUtils.FormtSettings := TFormatSettings.Create('en-US');
System.SysUtils.FormtSettings := TFormatSettings.Invariant; // wie en-US, aber nicht aus Windows geholt, sondern manuell von Delphi
ACHTUNG: Wenn Windows eine ChangeNotification sendet (WM_SETTINGCHANGE oder RM_TaskbarCreated), dann lädt Delphi standardmäßig die Spracheinstellungen neu und überschreibt deine Änderungen.
Application.UpdateFormatSettings := False;