请问如何从外界向ActiveX控件里写入值呢?
我用向导添加了一个方法
BOOL CHIDUSBCtrl::Write(const VARIANT FAR& Data)
{
// TODO: Add your dispatch handler code here
if(!IsOpen())
{
return FALSE;
}
LONG length;//数据长度
COleSafeArray safearray_data;
safearray_data=Data; //运行到这里时程序报错误
//忽略上面的错误,运行下面的代码时程序还是报错,
length=safearray_data.GetOneDimSize();
//再忽略上面的错误,运行下面代码没有错误了
BYTE *Buf=new BYTE[length+1];
for(LONG i=0;i<length;i++)
safearray_data.GetElement(&i,Buf+i);
DWORD dw;
OVERLAPPED overlap;
memset(&overlap, 0, sizeof(OVERLAPPED));
//向设备写入一个字符串
BOOL bResult=WriteFile(m_hDevice, Buf, length, &dw, &overlap);
delete Buf;
return bResult;
}
如上方法,功能是向设备写入一个字符串,就像MSComm控件写串口的功能一样
请问其中表注的两个错误怎么解决呢
不胜感激!