delphi做报表时出现如下问题,请大牛们看看哦
[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;
interface
uses
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.
不知道哪里错了。。。请大神们帮帮忙。。。
[解决办法]
FindRaveComponent
都告诉你了啊,Rave报表组件啊
[解决办法]
MyPage:=RvProject1.ProjMan.FindRaveComponent('Report2.MainPage', nil) as TRavepage;
[解决办法]
应该就是控件有问题的吧
[解决办法]
呵呵 ,学到知识就好,给分吧