Moin Frankle,
im Prinzip hat Daniel die Lösung schon gegeben:
Code:
Datum1 := StrToDateTime('01'+DateSeparator+'01'+DateSeparator+'2001 23'+TimeSeparator+'01');
Das Datum kann nur dann von StrToDateTime konvertiert werden, wenn Du auch das richtige Trennzeichen verwendest.
Um dies unabhängig von dem System zu machen, auf dem das Programm läuft, nimmst Du einfach die vordefinierten Variablen.
Das führt erst dann zu einem Fehler, falls jemand, nachdem das Programm gestartet wurde, die Systemeinstellungen für die Trennzeichen verändert.
Diese Variablen werden beim Initialisieren der
Unit SysUtils mit Werten gefüllt, also je Programmstart einmal.
Diesen, wohl höchst seltenen Fehlerfall kannst Du dann nur noch umgehen, wenn Du jeweils, bevor Du die Trennzeichen verwendest, diese selber ausliest.
Ich denke aber, dass Du Dir diese Mühe wirklich sparen kannst.