是这样的,我用VC作了一个DLL,想提供一个借口函数,
接受VB端提供的二维字符串数组,用什么方法才能实现呢?最好有示例代码,不胜感激[id(4), helpstring("method゙ setin")] HRESULT setin([in] SAFEARRAY(VARIANT) arr);这是我在ATL的Dll中声明的方法,可是VB端访问的时候,根本不提示参数,没办法调用呀?!
接受VB端提供的二维字符串数组,用什么方法才能实现呢?最好有示例代码,不胜感激[id(4), helpstring("method゙ setin")] HRESULT setin([in] SAFEARRAY(VARIANT) arr);这是我在ATL的Dll中声明的方法,可是VB端访问的时候,根本不提示参数,没办法调用呀?!
解决方案 »
- 使用CArray时遇到的一个编译问题
- sqlite问题 sqlite_exec("INSERT INTO \"SensorData\" VALUES(NULL , username , '2008-09-08' , 1001, des );");
- 跪求从西门子手机模块TC35T中读取短信的代码!
- L,TEXT等宏好像只对字符串有作用,它们只用于字符串吗?
- 初学atl的简单问题,简单
- 关于toolbar和tab control......
- 关于API函数
- 知道一个汉字的unicode码,如何使用键盘输入这个汉字,比如在word,写字板里面
- 请问如何对数据库的数据读取并判断
- 一个非常简单的问题,对于我这个初学者却很难,感兴趣者请进
- 关于ReBar的排列问题
- 如何用HotKey做到,按一下让form在显示和隐藏之间切换.
注意用 SysAllocString 分配内存我给你个例子看看 interface IChgString : IDispatch
{
//Standard Server Side Component Methods
HRESULT OnStartPage([in] IUnknown* piUnk);
HRESULT OnEndPage();
[id(1), helpstring("method Change")] HRESULT Change([in]const BSTR bstrIn, [out,retval] BSTR* bstrRetval);
};STDMETHODIMP CChgString::Change(BSTR bstrIn, BSTR* bstrRetval)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState()); // TODO:在此添加实现代码
_bstr_t tempstring = bstrIn; ..............// 你的实现过程
COleVariant bstrKey(tempstring);
*ChgString = ::SysAllocString(bstrKey.bstrVal); return S_OK;
}
注意用 SysAllocString 分配内存我给你个例子看看 interface IChgString : IDispatch
{
//Standard Server Side Component Methods
HRESULT OnStartPage([in] IUnknown* piUnk);
HRESULT OnEndPage();
[id(1), helpstring("method Change")] HRESULT Change([in]const BSTR bstrIn, [out,retval] BSTR* bstrRetval);
};STDMETHODIMP CChgString::Change(BSTR bstrIn, BSTR* bstrRetval)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState()); // TODO:在此添加实现代码
_bstr_t tempstring = bstrIn; ..............// 你的实现过程
COleVariant bstrKey(tempstring);
*bstrRetval = ::SysAllocString(bstrKey.bstrVal); return S_OK;
}