动态创建的MEMO如下:
Memo := TfrxMemoView.Create(Band);
Memo.CreateUniqueName;
Memo.Text := 'Hello FastReport!';
Memo.Height := 20;
Memo.Align := baWidth;
请问如何添加动态创建的MEMO的OnBeforePrint事件?

解决方案 »

  1.   

    procedure MemoOnBeforePrint(Sender: TfrxComponent);
    begin
      //自己写代码
    end;动态创建的MEMO如下:
    Memo := TfrxMemoView.Create(Band);
    Memo.CreateUniqueName;
    Memo.Text := 'Hello FastReport!';
    Memo.Height := 20;
    Memo.Align := baWidth;请问如何添加动态创建的MEMO的OnBeforePrint事件?Memo.OnBeforePrint := MemoOnBeforePrint;
      

  2.   

    请问楼上的 Memo.OnBeforePrint := MemoOnBeforePrint;
    中的MemoOnBeforePrint 是自己定义的一个过程吗??
    这样不行啊。~!
    报错如下:
    [Error] rczw_pzprt.pas(142): Incompatible types: 'String' and 'procedure, untyped pointer or untyped parameter'
      

  3.   

    [Error] rczw_pzprt.pas(141): Not enough actual parameters
      

  4.   

    我是这样写的。~!
      private
        procedure OnBeforePrint(Sender: TfrxComponent);
    procedure OnBeforePrint(Sender: TfrxComponent);
    begin
      showmessage('1');
    end;
    procedure TForm1.frxReport1BeforePrint(
      Sender: TfrxReportComponent);
    var
     y:TfrxFooter;
    begin
      y:=frxReport1.FindObject('Footer1') as TfrxFooter;
      y.OnBeforePrint:= OnBeforePrint;
    end;然后就报错:Not enough actual parameters
      

  5.   

    private
        procedure OnBeforePrint(Sender: TfrxComponent);
    procedure OnBeforePrint(Sender: TfrxComponent);
    begin
      showmessage('1');
    end;
    procedure TForm1.frxReport1BeforePrint(
      Sender: TfrxReportComponent);
    var
     y:TfrxMemoView;//here
    begin
      y:=frxReport1.FindObject('Footer1') as TfrxMemoView;//here
      y.OnBeforePrint:= OnBeforePrint;
    end;这是memo的OnBeforePrint事件写法,band的OnBeforePrint事件参数可能不同吧,你自己替换一下。
      

  6.   

    用TfrxMemoView的时候也是跟上面一样的错误啊。!
      

  7.   

    关于Fastreport的动态写事件的问题,请问可以发个DEMO给我看下吗??万分感谢。
    [email protected]
      

  8.   

    private
        procedure OnBeforePrint(Sender: TfrxComponent);
    procedure OnBeforePrint(Sender: TfrxComponent);
    begin
      showmessage('1');
    end;
    procedure TForm1.frxReport1BeforePrint(
      Sender: TfrxReportComponent);
    var
     y:TfrxFooter;
    begin
      y:=frxReport1.FindObject('Footer1') as TfrxFooter;
      y.OnBeforePrint:= OnBeforePrint;
    end;然后就报错:Not enough actual parameters