[Error] UEmpForm.pas(55): Undeclared identifier: 'FindRaveComponent'
[Error] UEmpForm.pas(55): Operator not applicable to this operand type
[Error] UEmpForm.pas(57): Operator not applicable to this operand type
[Fatal Error] PEmployee.dpr(6): Could not compile used unit 'UEmpForm.pas'源代码:
unit UEmpForm;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, RpDefine, RpRave, StdCtrls, Buttons, Grids, DBGrids, DB,
  DBTables, RpCon, RpConDS, RVClass, RVProj, RVCsStd;type
  TEmpForm = class(TForm)
    grp1: TGroupBox;
    dbgrd1: TDBGrid;
    grp2: TGroupBox;
    searchbtn1: TBitBtn;
    btn1: TBitBtn;
    edt1: TEdit;
    procedure searchbtn1Click(Sender: TObject);
    procedure btn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  EmpForm: TEmpForm;implementation
uses UEmployee;{$R *.dfm}procedure TEmpForm.searchbtn1Click(Sender: TObject);
var
  SalarySum :Double;
  MyPage: TRavePage;
  Mytext: TRaveText;
begin
with UEmployee.EmpTool.qry1 do
begin
  Close;
  SQL.Clear;
  //查总工资
  SQL.Add('select sum(Salary) from employee');
  Open;
  SalarySum:=Fields[0].AsFloat;
  Close;
end;
  UEmployee.EmpTool.emprvprjct1.Open;
  begin
       //查page
    MyPage := FindRaveComponent('Report2.MainPage', nil) as TRavepage;
       //查Text
    MyText := FindRaveComponent('totalSalary', MyPage) as TRaveText;
       //设置报表文本内容
    MyText.text := FloatToStr(SalarySum);
       //设置颜色
    //MyText.color := clGreen;
  end;
  UEmployee.EmpTool.emprvprjct1.ExecuteReport('Report2');
  UEmployee.EmpTool.emprvprjct1.Close;
end;procedure TEmpForm.btn1Click(Sender: TObject);
begin
UEmployee.EmpTool.emprvprjct1.Execute;
end;end.不知道哪里错了请大神们帮帮忙

解决方案 »

  1.   

    FindRaveComponent都告诉你了啊,Rave报表组件啊
      

  2.   

    大神,这个要怎么解决呢,我是新手,刚学习delphi
      

  3.   

    MyPage:=RvProject1.ProjMan.FindRaveComponent('Report2.MainPage', nil) as TRavepage;
      

  4.   

    少加了个with UEmployee.EmpTool.emprvprjct1.ProjMan do应该是:
    procedure TEmpForm.searchbtn1Click(Sender: TObject);
    var
      SalarySum :Double;
      MyPage: TRavePage;
      Mytext: TRaveText;
    begin
    with UEmployee.EmpTool.qry1 do
    begin
      Close;
      SQL.Clear;
      //查总工资
      SQL.Add('select sum(Salary) from employee');
      Open;
      SalarySum:=Fields[0].AsFloat;
      Self.edt1.Text:= FloatToStr(SalarySum);
      SQL.Clear;
      SQL.Add('select * from employee');
      Close;
    end;
      UEmployee.EmpTool.emprvprjct1.Open;
      with UEmployee.EmpTool.emprvprjct1.ProjMan do
      begin
           //查page
        MyPage := FindRaveComponent('Report2.MainPage', nil) as TRavepage;
           //查Text
        MyText := FindRaveComponent('SalarySum', MyPage) as TRaveText;
           //设置报表文本内容
        MyText.text := FloatToStr(SalarySum);
           //设置颜色
        //MyText.color := clGreen;
      end;
      UEmployee.EmpTool.emprvprjct1.ExecuteReport('Report2');
      UEmployee.EmpTool.emprvprjct1.Close;
    end;