_ARRAYOF Variant* aParams

来源:互联网 发布:寻求淘宝合作伙伴 编辑:程序博客网 时间:2024/04/30 01:18

DELPHI原型定义

       procedure TForm1.RMReport1UserFunction(aFunctionName: String;  aParams: array of Variant; var aValue: Variant; var aFound: Boolean);

c++builder的定义

        void __fastcall RMReport1UserFunction(AnsiString aFunctionName, _ARRAYOF Variant* aParams, const int aParams_Size, Variant &aValue, bool &aFound);

c++builder5编译没有问题

c++builder6编译报错了。

[C++ Error] Unit1.h(19): E2303 Type name expected

[C++ Error] Unit1.cpp(22): E2451 Undefined symbol 'AnsiString'



修改为以下赋值函数就可以成功了,c++builder6.0下OK。

void __fastcall myRMReport1UserFunction(AnsiString aFunctionName, const Variant* aParams, const int aParams_Size, Variant &aValue, bool &aFound);

void __fastcall TForm1::FormCreate(TObject *Sender)
{
     RMReport1->OnUserFunction = this->myRMReport1UserFunction;
}


XE4

void __fastcall RMReport1UserFunction(UnicodeString aFunctionName, _ARRAYOF Variant* aParams,
 const int aParams_Size, Variant &aValue, bool &aFound);

编译直接可以成功,说明_ARRAYOF Variant* aParams这种定义是没有错,只是c++builder6不能识别!

原创粉丝点击