delphi 使用C++函数时,FastReports Pro VCL的用户函数显示“实际参数太多”

fnatzsnv  于 2023-05-28  发布在  其他
关注(0)|答案(1)|浏览(146)

我试图设置FastReports Pro通过使用用户函数解码字段。
在我的主窗体构造器中,我设置:

frxReport1->AddFunction(_D("void ChangeReportField(String fieldstr, String otherfieldstr)"));

在使用C++Script的FastReports代码选项卡中,我有:

void MasterData1OnBeforePrint(TfrxComponent Sender)
{
    ChangeReportField(<frxDBDataset1."Field1">, <frxDBDataset1."Field2">);                                                                                                   
}

我还配置了TfrxReport组件的OnUserFunction事件:

Variant __fastcall TMainForm::frxReport1UserFunction(const UnicodeString MethodName, Variant &Params)
{ }

当我尝试运行该报告时,收到以下错误消息:
实际参数太多
指向MasterData1OnBeforePrint()ChangeReportField(的左括号
我知道这个函数目前没有做任何事情,因为它没有返回值。一旦我让它实际工作(调用用户函数),我就会开始讨论这个问题。
我做错了什么?

elcex8rz

elcex8rz1#

当作为Pascal函数添加时,它的工作原理是:

frxReport1->AddFunction(_D("procedure ChangeReportField(fieldstr, otherfieldstr:String)"));

相关问题