用VC制作了一个ocx控件,控件结果放在float型数组中,如何设计外部接口函数来访内部数组 用vc制作了一个ocx控件,控件的结果保存在Float Amp[12];Float DC[12];Cstring str中;如何设计外部接口函数,使控件外部能够通过接口能够获得数组和Cstring串的数据。跪求各位老大。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上的能说具体点么,刚学ocx Float数组用指针传递就可以HRESULT GetData(float **ppData);HRESULT SetData(float *pData);CString最好使用BSTR类型来传递HRESULT GetString(BSTR *pbsStr){*pStr = m_sStr.AllocSysString();return S_OK;}HRESULT SetString(BSTR bsStr){m_sStr = COLE2T(bsStr);return S_OK;} 对于float 可以用VARIANT 类型来处理,字符串使用BSTRfloat 对应VT_R4idl 接口的定义可以如下HRESULT GetArray([out,retval]VARIANT* pvar);HRESULT GetString([out,retval] BSTR* pbstr);使用VARIANT BSTR 使得你的ocx将更具有通用性(例如可以使用脚本语言交互,可以再VB中使用等) 楼上的,我用的是ActiveX做的,并没有用ATL走控件,当如何设计接口 使用MFC做ActiveX控件也一样了,为ActiveX添加方法,你可以设定方法的参数类型 ListCtrl控件问题 请教关于计算CPU占用率的算法的一个疑问,谢谢 关于内存绘图内存暴增的问题 ctreectrl问题 error C2027: use of undefined type 'CColumns' 哪里有问题? 数据库的一个问题 Dialog 在属性里选中了Horz和Vert滚动条 请问怎样在程序中得到这两个滚动条的指针? 有关动态链接库的问题: 如何把剪贴板中的数据保存起来,等需要时还可以恢复? C++简单矩阵运算 首次值夜班,特此留念 请教一下结构体赋值的问题
HRESULT GetData(float **ppData);
HRESULT SetData(float *pData);
CString最好使用BSTR类型来传递
HRESULT GetString(BSTR *pbsStr)
{
*pStr = m_sStr.AllocSysString();
return S_OK;
}
HRESULT SetString(BSTR bsStr)
{
m_sStr = COLE2T(bsStr);
return S_OK;
}
float 对应VT_R4
idl 接口的定义可以如下
HRESULT GetArray([out,retval]VARIANT* pvar);
HRESULT GetString([out,retval] BSTR* pbstr);使用VARIANT BSTR 使得你的ocx将更具有通用性(例如可以使用脚本语言交互,可以再VB中使用等)