Новое событие в компоненте
На основе TfrxCustomMemoView создаётся новый компонент. Пытаюсь добавить новое событие для отрисовки компонента, но нет возможности достучаться до Report.
type
TfrxDrawCellEvent = type String;
TfrxMemoTable = class(TfrxCustomMemoView)
private
fDrawCell: TfrxDrawCellEvent;
public
procedure Draw(Canvas: TCanvas; ScaleX, ScaleY, OffsetX, OffsetY: Extended); override;
published
property OnDrawCell: TfrxDrawCellEvent read fDrawCell write fDrawCell;
end;
implementation
procedure TfrxMemoTable.Draw(Canvas: TCanvas; ScaleX, ScaleY, OffsetX, OffsetY: Extended);
var v: Variant;
begin
inherited;
v := VarArrayOf([integer(self), true]);
// Здесь Report всегда nil !!!
if Report <> nil then Report.DoParamEvent(fDrawCell, v, false);
end;
var Bmp: TBitmap;
initialization
Bmp := TBitmap.Create;
// Bmp.LoadFromResourceName(hInstance, 'frxMemoTable');
frxObjects.RegisterObject(TfrxMemoTable, Bmp);
frxResources.Add('TfrxDrawCellEvent', 'PascalScript=(Sender: TObject; var CanDraw: boolean);');
finalization
frxObjects.Unregister(TfrxMemoTable);
Bmp.Free;
end.