View Issue Details

IDProjectCategoryView StatusLast Update
0006767JEDI VCL00 JVCL Componentspublic2023-05-18 19:37
ReporterbazilioAssigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status newResolutionopen 
PlatformEmbarcadero® Delphi 11 Version 2OSWindowsOS Version7+
Product VersionDaily / GIT 
Target VersionFixed in Version 
Summary0006767: in TJvMemoryData.Field[...].OnValidate sometimes the old field value comes in
Descriptionin TJvMemoryData.Field[...].OnValidate sometimes the old field value comes in.
Steps To ReproduceAssign TJvMemoryData.Field[].OnValidate and append many records (more then one screen)
Additional InformationThis 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;
TagsNo tags attached.

Activities

bazilio

2023-05-18 19:37

reporter  

Project.zip (91,659 bytes)

Issue History

Date Modified Username Field Change
2023-05-18 19:37 bazilio New Issue
2023-05-18 19:37 bazilio File Added: Project.zip