...
Die drunterliegende TField - Klasse macht seine eigene Abprüfung - weshalb bei obiger Beispieleingabe die Fehlermeldung kommt "..bla.. ist kein gültiges Datum".
...
Danke für den Faden! Genau das gleiche Problem hatte ich auch längere Zeit.
Dabei habe ich bei Datumsfeldern mit EditMask gearbeitet, so dass ein leeres Datum halt immer noch im Eingabefeld die beiden Punkte '. .' hat. Mit der folgenden Ereignisroutine für OnSetText habe ich mir helfen können:
Code:
procedure TDataModule.DateSetText(Sender: TField;
const Text: string);
begin
if trim( Text ) <> '. .' then Sender.AsString := Text
else Sender.AsString := ''; // Damit die Eingabe eines leeren Datums möglich ist!
end;
Lästig und etwas Fehleranfällig ist dabei, dass diese Routine für jedes Datumsfeld mittels "OnSetText" eingebunden werden muß. Gibt es da eine elegantere Möglichkeit?