描述:
一、外部要向ActiveX传递一个VARIANT变量,我在ActiveX中定义了一个参数为VARIANT量型的方法,结果Wizard自成生成
SetData(const VARIANT FAR& V)
二、外部要向ActiveX获取一个VARIANT变量里,我在ActiveX中定了一个参数为VARIANT*量型的方法,结果Wizard自成生成
GetData(VARIANT FAR* pFingerData)
结果“一”实现通过,但是“二”却怎样到得不到实际的数据
“二”中的代码如下:
long CRCFMCtrl::GetData(VARIANT FAR* pFingerData)
{
char Buffer[]="abcde";
pFingerData->vt = VT_VARIANT;
SAFEARRAYBOUND rgsabound[1];
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = fpdata->Length;
pFingerData->parray = SafeArrayCreate(VT_UI1,1,rgsabound);
memcpy(pFingerData->parray->pvData,Buffer,strlen(Buffer));
return 0;
}
外部调用如下:
VARIANT V;
RCFM1->GetData(&V);
edtTFMFPD->Text = PChar(V.parray->pvData);
可是却一直得不到数据,V.parray没有值?
请问是怎么回事,我该作何改动。