anchor.diff:      Name : String;
       EditorKind : TmEditingFrameEditorKind;
       Index : integer;
  +    ReadOnly : boolean;
     end;
   
   { TmEditingFrame }
  
positive.code:     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;
      function GetValueFromMemo (const aName : string; const aTrimValue : boolean) : string;
      // override these:
      procedure OnEditValue(const aName : string; const aNewValue : variant); virtual;
  
negative.code:   tmp.EditorKind:= aEditorKind;
    tmp.Name := aName;
    tmp.Index:= FValueListEditor.InsertRow(aCaption, aDefaultValue, true);
    tmp.ReadOnly:= (aEditorKind = ekReadOnly);
    FLinesByIndex.Add(tmp.Index + 1, tmp);
    FValueListEditor.ItemProps[tmp.Index].ReadOnly:= tmp.ReadOnly;
    if (not tmp.ReadOnly) and ((aEditorKind = ekDate) or (aEditorKind = ekLookup)) then
      FValueListEditor.ItemProps[tmp.Index].EditStyle:=esEllipsis;
  end;
  
  procedure TmEditingFrame.AddMemo(const aName: string; const aCaption: string;const aDefaultValue: string; const aMemoHeightPercent : double);
  