com事件怎么传递VARIANT参数啊?郁闷好几天了!

ddzz2001 2005-03-19 03:12:24
com通过连接点,激活事件,向客户段发送VARIANT变量,可是客户端就是接收不到参数,程序如下:
服务端
事件
[id(1), helpstring("method dsada")] HRESULT dsada(VARIANT* ss);
调用函数
STDMETHODIMP Ccc::SendArray()
{
VARIANT aa;
VariantInit(&aa);
aa.vt=VT_I4;
aa.lVal=22;
Fire_dsada(&aa);//事件函数
return S_OK;
}
客户端.h
namespace
{
_ATL_FUNC_INFO OnAddInfo2 = {CC_STDCALL,VT_EMPTY,1 ,{VT_VARIANT|VT_BYREF}};
}
class test :public IDispEventSimpleImpl</*nID =*/ 1, test, &DIID__IccEvents>
{
public:
void __stdcall dsada(VARIANT* array);
BEGIN_SINK_MAP(test)
SINK_ENTRY_INFO(1, DIID__IccEvents, 1, dsada, &OnAddInfo2)
END_SINK_MAP()
};
客户端.cpp
void __stdcall test::dsada(VARIANT* array)
{
parray;//数据得不到
}
...全文
180 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cline 2005-03-21
  • 打赏
  • 举报
回复
客户端advise了吗?
UDX协议 2005-03-21
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/3720/3720780.xml?temp=.5576288
ddzz2001 2005-03-21
  • 打赏
  • 举报
回复
客户端调用接口函数我省略了,是没问题的
sarco 2005-03-19
  • 打赏
  • 举报
回复
在服务端接口设个断点看服务端是否有值传出来了,如果接口有值的话,客户端应该是没问题的.
客户端没看到你通过指针调用接口函数啊,你的调用方式我没见过啊

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧