- 1. Пустое поле ввода
- Код: Выделить всё
DateEdit.Date //< отдает NullDate
- 2. Выбрана некоторая дата, после чего поле ввода очищено
- Код: Выделить всё
DateEdit.Date //< отдает ПОСЛЕДНЮЮ введенную дату
вот из за второго пункта у меня сломались все забросы в базу ... у себя решил пока правкой метода TDateEdit.GetDate
- Код: Выделить всё
function TDateEdit.GetDate: TDateTime;
var
ADate: string;
Def: TDateTime;
begin
//debugln(['TDateEdit.GetDate: FDate = ',DateToStr(FDate)]);
if (FDate = NullDate) and FDefaultToday then
Def := SysUtils.Date
else
Def := FDate;
ADate := Trim(Text);
//if not DirectInput then FDate matches the Text, so no need to parse it
if ADate='' then Result:=NullDate //< корявый ФИКС
else begin
if (ADate <> '') and DirectInput then
begin
Result := TextToDate(ADate, Def);
FDate := Result;
end
else
Result := Def;
end;
end;
решение корявое ... но надо было быстро ...
Основной вопрос в следующем: такое поведение баг или фича? То есть мне ждать пока починят или привыкать к новым реалиям?