anchor.diff:          FValueListEditor.Cells[aCol, aRow] := str;
           aNewDisplayValue := str;
           aNewActualValue := tmpValue;
  +        curLine.OldActualValue:= curLine.ActualValue;
           curLine.ActualValue:= tmpValue;
           Result := true;
         end;
  
positive.code:     Name: String;
      Index: integer;
  
      ActualValue: variant;
      Changed: boolean;
      Configuration: TmEditorLineConfiguration;
    public
      constructor Create;
      destructor Destroy; override;
  
negative.code:   curLine : TEditorLine;
    tmpDouble : Double;
    errorMessage : String;
  begin
    NewValue := trim(NewValue);
  
    curLine := FLinesByRowIndex.Find(aRow) as TEditorLine;
  
    if curLine.Configuration.ReadOnly <> roAllowEditing then
    begin
      NewValue := OldValue;
  
      if (curLine.Configuration.EditorKind  in [ekCalendar, ekDialog, ekWizard, ekLookup]) then
        curLine.ActualValue:= curLine.OldActualValue;
  
      exit;
    end;
  
  
    if not (curLine.Configuration.EditorKind  in [ekCalendar, ekDialog, ekWizard, ekLookup]) then
      curLine.OldActualValue := curLine.ActualValue;
  
  
    if (curLine.Configuration.EditorKind = ekSimple)
      or (curLine.Configuration.EditorKind = ekCalendar)
  