View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006767 | JEDI VCL | 00 JVCL Components | public | 2023-05-18 19:37 | 2023-05-18 19:37 |
Reporter | bazilio | Assigned To | |||
Priority | normal | Severity | major | Reproducibility | always |
Status | new | Resolution | open | ||
Platform | Embarcadero® Delphi 11 Version 2 | OS | Windows | OS Version | 7+ |
Product Version | Daily / GIT | ||||
Target Version | Fixed in Version | ||||
Summary | 0006767: in TJvMemoryData.Field[...].OnValidate sometimes the old field value comes in | ||||
Description | in TJvMemoryData.Field[...].OnValidate sometimes the old field value comes in. | ||||
Steps To Reproduce | Assign TJvMemoryData.Field[].OnValidate and append many records (more then one screen) | ||||
Additional Information | This bug does not occur on previous versions of delphi because the code TField.GetData has been changed but CurrentRecord is sometimes not equal to ActiveRecord: function TField.GetData(var Buffer: TValueBuffer; NativeFormat: Boolean = True): Boolean; begin if FDataSet = nil then DataSetMissingError; if FValidating and not (FDataSet.State in [dsOldValue, dsCurValue]) and ((FDataSet.CurrentRecord = -1) or (FDataSet.ActiveRecord = FDataSet.CurrentRecord)) then begin Result := FValueBuffer <> nil; if Result and (Buffer <> nil) then CopyData(FValueBuffer, Buffer); end else Result := FDataSet.GetFieldData(Self, Buffer, NativeFormat); end; | ||||
Tags | No tags attached. | ||||