Icon View Incident Report

Serious Serious
Reported By: Ronald van der Pas
Reported On: 6/23/2014
For: Version 1.03 Build 7
# 4088 Finding a Row in a DataSet Using a DateTime Column Does Not Work Properly

I have created an application that works fine under version 1.03B3. If I update build 7, I get a problem with finding a record in a dataset if one of the columns is a TDateTime field:

In build 3 the record is found, but in build 7 the record is not found. If I leave out the DataTime field, the record is found, so there must be a change there since build 7.

Greetings,
Ronald van der Pas

tbPlanning.InitFind;
tbPlanning.Columns['invallerno'].AsString:=GetParam('invallerno',Params);
tbPlanning.Columns['date'].AsDateTime:=StrToDate(GetParam('datum',Params));
tbPlanning.Columns['planneddaypart'].AsString:=GetParam('daypart',Params);
if tbPlanning.Find(false,true) then....



Comments Comments
There was a bug in the EncodeDate() function in EWB's framework. It was not encoding UTC date values properly, so they wouldn't match up with what the server was sending over when dates were *not* being localized on the server/client.

In summary:

1) The server-side was fine, as long as you were using a proper TDateTime-to-UNIX date/time function.
2) The client-side was fine, as long as you were localizing date/time columns.
3) The client-side was *not* fine if you were *not* localizing date/time columns, as this will encounter the bug in the EncodeDate function.


Resolution Resolution
Fixed Problem on 7/8/2014 in version 1.04 build 1


Products Affected Products Affected
Elevate Web Builder
Elevate Web Builder Trial

Image