Also DecimalSeparator ist bereits auf '.' gesetzt, ich hatte das nur nicht erwähnt in dem Beispiel.
Du hast natürlich auch recht das man die Format Einstellungen auch der Funktion übergeben muss. Aber
auch das war nur ein Fehler im Beispiel, genau wie der Variablen Name "Date" nur ein Beispiel ist.
Ich habe den Fehler gefunden ich hatte bei dem String erst den '.' in einen weiter ':' umgewandelt und
LongTimeFormat auf 'hh:nn:ss:zzz' eingestellt und das scheint wohl nicht zu gehen mit 'hh:nn:ss.zzz' klappt
es jetzt.
Delphi-Quellcode:
var
glFmtSet: TFormatSettings;
TestDate: TDateTime;
begin
GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, glFmtSet);
glFmtSet.ThoundSeparator := ',';
glFmtSet.DecimalSeparator := '.';
glFmtSet.DateSeparator := '.';
glFmtSet.TimeSeparator := ':';
glFmtSet.ShortDateFormat := 'dd.mm.yy';
glFmtSet.LongDateFormat := 'dd.mm.yyyy';
glFmtSet.ShortTimeFormat := 'hh:nn:ss';
glFmtSet.LongTimeFormat := 'hh:nn:ss.zzz';
TestDate := StrToTime('12:05:20.160', glFmtSet); //Jetzt klappt alles ;-)