I am using cachedupdates with TZQuery. I have in my query one fkinternalcalc-Field and I am using this as variable for one data row.
I had to change some code to take values for fkinternalcalc-Fields like this:
Code: Select all
// Don't take it now to ZEOS-Library it must be tested,
// maybe can cause problems on not cached datasets
procedure PostToResultSet(ResultSet: IZResultSet;
Current := Fields[I];
// !!!!!! Change next line 586: !!!
if not (Current.FieldKind in [fkData, fkInternalCalc]) then //soner original: if Current.FieldKind <> fkData then
This is working good for cacheddatesets but when I change only InternalCalcfield then TZQuery.UpdatesPending is true and TZQuery.UpdateStatus is usModified.
When one Internalcalc-field is changed then I don't want set modified or UpdatesPending flag.
I could not find out, which function is called after Internalcalc-fields value is changed or changing.
Can you tell me which function is called when one fields value is changing?
I found it, it is procedure TZAbstractRODataset.SetFieldData in src/component/ZAbstractRODataset.pas