anchor.diff:  
   type
   
  -  TmEditingFrameEditorKind = (ekInteger, ekFloat, ekDate, ekLookup, ekText, ekReadOnly);
  +  TmEditingFrameEditorKind = (ekInteger, ekFloat, ekDate, ekLookupText, ekLookupInteger, ekLookupFloat, ekText);
   
     { TmEditingFrame }
   
  
positive.code:     procedure OnValueListEditorValidateEntry(sender: TObject; aCol, aRow: Integer; const OldValue: string; var NewValue: String);
      function OnValueListEditorEditValue  (const aCol, aRow : integer; var aNewValue : string): boolean;
    protected
      procedure AddLine (const aName : string; const aCaption : string; const aDefaultValue : string; const aEditorKind : TmEditingFrameEditorKind);
      procedure AddMemo (const aName : string; const aCaption : string; const aDefaultValue : string; const aMemoHeightPercent : double);
      procedure ExtractFields (aVirtualFields : TmVirtualFieldDefs; aList : TStringList);
      function GetValue (const aName : string) : string;
      procedure SetReadOnly (const aName : string; const aValue : boolean); overload;
      procedure SetReadOnly (const aValue : boolean); overload;
      function GetValueFromMemo (const aName : string; const aTrimValue : boolean) : string;
  
negative.code:     aList.Add(aVirtualFields.VirtualFieldDefs[i].Name);
  end;
  
  function TmEditingFrame.GetValue(const aName: string): Variant;
  var
    curLine : TEditorLine;
    tmp : string;
  begin
    Result := Null;
  
    curLine := FLinesByName.Find(aName) as TEditorLine;
    tmp := Trim(FValueListEditor.Rows[curLine.Index + 1].Strings[1]);
    case curLine.EditorKind of
      ekInteger: Result := TNullableInteger.StringToVariant(tmp);
      ekFloat: Result := TNullableDouble.StringToVariant(tmp);
      ekDate: Result := TNullableDateTime.StringToVariant(tmp);
      ekLookupText: Result := TNullableString.StringToVariant(tmp);
      ekLookupFloat: Result := TNullableDouble.StringToVariant(tmp);
      ekLookupInteger: Result := TNullableInteger.StringToVariant(tmp);
      ekText: Result := TNullableString.StringToVariant(tmp);
    end;
  end;
  
  procedure TmEditingFrame.SetReadOnly(const aName: string; const aValue : boolean);
  