Using Custom Functions in FastReport in C++Builder 10.3.3
I notice that there is no in-built function for FastReport to verify the existence of a file but it is possible to add custom functions such as FileExists function. However all those functions are in delphi code. As I am using C++ Builder 10.3.3 I tried to convert it to C++ Builder code as shown below. Although code was successfully compiled the function did not appear the in FastReport IDE and on execution it gave massage that "Script error at 6.22: Undeclared Identitier: 'FrFileExists' ". I hope some one can help me to solve this problem and thank you very much.
// IN C++ BUILDER FORM, CREATE CUSTOM FUNCTION FOR FileExists
boolean __fastcall TForm1::FrFileExists(String FileName)
{
return (FileExists(FileName.c_str()));
}
// CREATE THE "onUser" FUNCTION HANDLER FOR THE REPORT COMPONENT
Variant __fastcall TForm1::frxReport1UserFunction(const UnicodeString MethodName,
Variant &Params)
{
if (MethodName == "FrFileExists") {
String x = Params.GetElement(0);
return (FrFileExists(x));
}
return 0;
}
// Use the report component’s add method to add it to the function list
void __fastcall TForm1::FormShow(TObject *Sender)
{
frxReport1->AddFunction("boolean __fastcall TForm1::FrFileExists(String FileName)");
frxReport1->DesignReport();
}
Comments
Use
if (MethodName == "FRFILEEXISTS") {
instead of
if (MethodName == "FrFileExists") {