Reason for my interposer classes not being compiled?

455 views Asked by At

I have:

unit unt_QuantumGridInterceptor;

{$OPTIMIZATION OFF}

interface

uses
  { DevExpress }
  cxGridRows,
  cxGridTableView,
  cxGridCustomTableView,
  cxCustomData,
  cxGraphics;

type
  TcxGridDataCellViewInfo = class(cxGridRows.TcxGridDataCellViewInfo)
  protected
    procedure InitTextSelection; override;
  end;

  TcxGridDataRowViewInfo = class(cxGridRows.TcxGridDataRowViewInfo)
  protected
    function GetCellViewInfoClass(AIndex: Integer): TcxGridDataCellViewInfoClass;    override;
  end;

  TcxGridDataRow = class(cxGridTableView.TcxGridDataRow)
  protected
    function GetViewInfoClass: TcxCustomGridRecordViewInfoClass; override;
  end;

  TcxGridViewData = class(cxGridTableView.TcxGridViewData)
  protected
    function GetRecordClass(ARecordInfo: TcxRowInfo): TcxCustomGridRecordClass;   override;
  end;

implementation

....

end.

I use it as

unt frm_MainForm;

uses
  ...
  cxGridRows,
  cxGridTableView,
  cxGridCustomTableView,
  cxCustomData,
  cxGraphics
  cxClasses,
  cxData,
  cxGridRows,
  // Really the last unit
  unt_QuantumGridInterceptor;

type
  TcxGridDataCellViewInfo = class(unt_QuantumGridInterceptor.TcxGridDataCellViewInfo);
  TcxGridDataRowViewInfo = class(unt_QuantumGridInterceptor.TcxGridDataRowViewInfo);
  TcxGridDataRow = class(unt_QuantumGridInterceptor.TcxGridDataRow);
  TcxGridViewData = class(unt_QuantumGridInterceptor.TcxGridViewData);

  TfrmMainForm = class sealed(TForm)
  ...

but yet the interposer classes overriden methods do not get called and their brakepoints stay in "dark green" inactive color instead of "pale blue" active.

What I am missing?

1

There are 1 answers

0
Gad D Lord On BEST ANSWER

I missed:

TcxGridBandedTableView = class(cxGridBandedTableView.TcxGridBandedTableView)
protected
  function GetViewDataClass: cxGridCustomView.TcxCustomGridViewDataClass; override;
end;