anchor.diff:  var
     I, J: Integer;
     Row: TCellList;
  -  CellObj: TCellObj;
   begin
     for J := 0 to Rows.Count - 1 do
     begin
       Row := Rows[J];
       for I := 0 to Row.Count - 1 do
  -    begin
  -      CellObj := Row[I];
  -      if CellObj <> nil then
  -        CellObj.Cell.CopyToClipboard;
  -    end;
  +      if Row[I] is TCellObj then
  +        TCellObj(Row[I]).Cell.CopyToClipboard;
     end;
   end;
   
  
positive.code:       out FormControl: TIDObject {TImageFormControlObj}; out ATitle: ThtString): guResultType; override;
    end;
  
    TCellObj = class(TObject)
    {holds one cell of the table and some other information}
    private
      // BEGIN: this area is copied by move() in CreateCopy() - NO string types allowed!
      FColSpan, FRowSpan: Integer; {column and row spans for this cell}
      FWd: Integer; {total width (may cover more than one column)}
      FHt: Integer; {total height (may cover more than one row)}
      FVSize: Integer; {Actual vertical size of contents}
      FSpecWd: TSpecWidth; {Width attribute (percentage or absolute)}
      FSpecHt: TSpecWidth; {Height as specified}
      FYIndent: Integer; {Vertical indent}
      FVAlign: AlignmentType; {Top, Middle, or Bottom}
      FEmSize, FExSize: Integer;
      FPRec: PtPositionRec; // background image position info
      FPad: TRect;
      FBrd: TRect;
      FHzSpace, FVrSpace: Integer;
      FHasBorderStyle: Boolean;
      FShowEmptyCells: Boolean;
      // END: this area is copied by move() in CreateCopy()
      FCell: TCellObjCell;
      procedure Initialize(TablePadding: Integer; const BkImageName: ThtString; const APRec: PtPositionRec; Border: Boolean);
      procedure Draw(Canvas: TCanvas; const ARect: TRect; X, Y, CellSpacing: Integer; Border: Boolean; Light, Dark: TColor);
      procedure DrawLogic2(Canvas: TCanvas; Y, CellSpacing: Integer; var Curs: Integer);
  
      // BG, 08.01.2012: Issue 109: C++Builder cannot handle properties that reference record members.
      // - added for legacy support only, will be removed in a near future release.
  
negative.code:   KeepIntact := T.KeepIntact;
    RowType := T.Rowtype;
    for I := 0 to T.Count - 1 do
      if Assigned(T[I]) then
        Add(T[I].Clone(AMasterList))
      else
        Add(nil);
  end;
  
  procedure TCellList.Add(CellObjBase: TCellObjBase);
  var
    CellObj: TCellObj absolute CellObjBase;
  begin
    inherited Add(CellObjBase);
    if CellObjBase is TCellObj then
    begin
      BreakBefore := BreakBefore or CellObj.BreakBefore;
      BreakAfter := BreakAfter or CellObj.BreakAfter;
  