关于网友提出的“ fastreport 用法”问题疑问,本网通过在网上对“ fastreport 用法”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: fastreport 用法
描述: 各位大侠,我照抄fastreport 的例程
但出现这样的错误
undeclared identifer "c"
程序片段如下:
请指点:
procedure Tyyrb.frxReport1BeforePrint(Sender: TfrxReportComponent);
var
Cross: TfrxCrossView;
i, j: Integer;
begin
if c is TfrxCrossView then
begin
Cross := TfrxCrossView(c);
adoquery5.First;
i := 0;
while not adoquery5.Eof do
begin
for j := 0 to adoquery5.Fields.Count - 1 do
Cross.AddValue([i], [adoquery5.Fields[j].DisplayLabel], [adoquery5.Fields[j].AsString]);
adoquery5.Next;
Inc(i);
end;
end;
end;
undeclared identifer "c"
解决方案1: procedure Tyyrb.frxReport1BeforePrint(Sender: TfrxReportComponent);
procedure Tyyrb.frxReport1BeforePrint(C: TfrxReportComponent);
其实都是一样的,
无论是C还是Sender,这里都是作为传入参数使用
一般默认方法都是sender的
解决方案2: 今天我也遇到如此问题,你没有把历程全部抄下来,那个c 是他在定义事件已经有了。
解决方案3: 你的c就没有定义怎么可能使用,报错是没有定义,你先定义先在使用
解决方案4: 很明显是抄来的,不重要,重要的是要知道如何去声明C,你在外部传或内部声明一个C变量C:TfrxCrossView即交叉表格类型变量,,编译就会通过了,至于是不是想要的效果就看你的C变量是传还是怎么搞了..
解决方案5: 这段代码是抄来的吧,
你这里的C应该是sender,就是(Sender: TfrxReportComponent)这个参数,改了就ok
解决方案6: 你那个“C”类型没有定义
看看uses是不是需要引用其他单元
以上介绍了“ fastreport 用法”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2299618.html