Здравствуйте, Slicer [Wirkwood]
Сама дата правильная. Создается как Now.
Но не работает с любой, какую я только не пробовал.
Параметр Data — нетипизированный. вот функция.
Если прочитаете статью, про которую идет речь, то в исходниках найдете метод GetFieldData.
Вот как он выглядит у меня:
procedure TMyData.GetFieldData(Index: integer; Field: TField; out Data);
begin
if @Data = nil then Exit;
case Field.FieldNo of
1:strpcopy(@Data,TMyRecord(List[Index]).Name);
2:strpcopy(@Data,TMyRecord(List[Index]).EMail);
3: Integer(Data) := TMyRecord(List[Index]).Num;
// 4: System.Move(TMyRecord(List[Index]).Date, Data, sizeof(TDateTime));
// 4: Comp(Data) := TimeStampToMSecs(DateTimeToTimeStamp(TMyRecord(List[Index]).Date));
4: TDateTime(Data) := TMyRecord(List[Index]).Date;
end;
end;
С Integer все, как ни странно, работает. Чем TDateTime отличается? Ведь это же простой Double.
А Data — это просто буфер , куда TDataSet данные закачивает, как я понимаю, для отображения.
Хотя, возможно, я не прав.
Артем.