Page 1 of 1

(RESOLVED)Where is the function for changed field?

Posted: 26.02.2018, 18:32
by Soner
Hello,
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
// zeos\src\componenten\zdatasetutils.pas 
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?

Thanks.


EDIT:
I found it, it is procedure TZAbstractRODataset.SetFieldData in src/component/ZAbstractRODataset.pas

Re: (RESOLVED)Where is the function for changed field?

Posted: 04.03.2018, 13:58
by EgonHugeist
Is there something we can do for you?

Re: (RESOLVED)Where is the function for changed field?

Posted: 21.08.2018, 11:47
by Soner
No thanks. I updated my zeos to version 7.2.4 now and I saw you took the code from above in the library. Your are great boys, thanks.
Sorry for late answer.