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") {

Leave a Comment