Witam!
Mam pewien problem, otóż w programie używam formatu daty dd.mm.yyyy oraz hh:mm, niezależnego od systemu.
Ustawiam to w OnCreate głównej formy:
DateSeparator:='.' ;
ShortTimeFormat:= 'hh:mm';
LongTimeFormat:= 'HH:MM';
ShortDateFormat:='dd.mm.YYYY';
LongDateFormat:='DD.MM.YYYY';
Jednak czasem, w losowych momentach, program przestaje widzieć tą datę jako poprawną, i m.in. StrToDate wywala wtedy exception, po restarcie aplikacji znowu wszystko jest OK.
Zmagam się z tym problemem już od dawna i w dalszym ciągu nie mogę znaleźć rozwiązania.
Mam procedurę przechwytującą wyjątki i gdy pojawi się ten dotyczący daty to jeszcze raz wywołuje powyższy kod, ale to już wtedy nie pomaga.
Ma ktoś jakieś pomysły?
Pozdrawiam.
EDIT:
Znalazłem coś takiego:
Application.UpdateFormatSettings := False;
Może pomoże, ciężko to sprawdzić, bo problem występuje losowo.
EDIT2:
Udało mi się znaleźć sposób na sprawdzenie tego. Otóż zmiana formatu daty w systemie powodowała zmianę formatu w programie. Dzięki powyższemu rozwiązaniu problem ustępuje.