anchor.diff:    FO: TFontObj;
   
     procedure Remove(I: Integer);
  -  begin
  -    Move(XP[I], XP[I - 1], (Length(BuffS) - I) * Sizeof(Integer));
  -    Move(Brk[I], Brk[I - 1], (Length(Brk) - I) * Sizeof(ThtTextWrap));
  +  var L: Integer;
  +  begin
  +    L := Length(BuffS) - I;
  +    if L > 0 then
  +       Move(XP[I], XP[I - 1], L * Sizeof(Integer));
  +    L := Length(Brk) - I;
  +    if L > 0 then
  +        Move(Brk[I], Brk[I - 1], L * Sizeof(ThtTextWrap));
       SetLength(Brk, Length(Brk) - 1);
       System.Delete(BuffS, I, 1);
       FormControls.Decrement(I - 1);
  
positive.code:   begin
      SetLength(Brk, Length(Brk) + 1);
      Brk[Length(Brk) - 1] := twYes;
      if not IsCopy then
      begin
        Last := 0; {to prevent warning msg}
  
negative.code:       end;
        SetLength(XP, 0);
      end;
  
      Inc(Document.SectionCount);
      SectionNumber := Document.SectionCount;
    end;
  