SocketConnection 如何访问COM+的接口函数

XpMaoCsdn 2003-10-20 10:51:47
客户端通过SocketConnection与服务器连接成功后,ClientDataset已经取到后台数据,
看看下面访问后台接口方法有何问题
方法1:
IMyServerDisp srv;
srv.Bind(LPDISPATCH(SockecConnection1->AppServer));
srv.GetUser(...);
//GetUser是我定义的接口方法
方法2:
IMyServerDisp srv;
srv.Bind(SockecConnection1->GetServer());
srv.GetUser(...);

为何都不成功,欢迎探讨。
...全文
48 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gzlcd 2003-12-17
  • 打赏
  • 举报
回复
函数返回值,应该通过指针返回,而不要直接用函数值返回。例如:
STDMETHODIMP TmyImpl::login(BSTR user, BSTR pswd, VARIANT* ret)
{
//----
...
*ret = xx;
//----
}
其中 ret 定义为[out, retVal]
hswu 2003-10-31
  • 打赏
  • 举报
回复
sorry,没写完就发出去了
ShowMessage(IntToStr(yy));//显示不出返回结果,
同样如果定义输出参数来输出,也同样返回不了结果,请高手帮忙:)
我在Fun1()中定义两行代码:
ShowMessage("asdfa");
return(123);
测试表明函数被正确调用但无返回
hswu 2003-10-31
  • 打赏
  • 举报
回复
我可以帮你解决一半问题,因为我也正遇此问题,如下代码可完成接口函数调用,但无法返回函数值。希望有人帮忙....,你解决了也请告诉我:)

HRESULT *value=new HRESULT;
__try
{
IDispatch *disp = (IDispatch*)(SocketConnection1->AppServer);
ITH1Disp AdhcServ( (ITH1*)disp );
HRESULT yy = AdhcServ.Fun1();//调用成功
ShowMessage(IntToStr(yy));
}
__finally
{
delete value;
}

703

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder ActiveX/COM/DCOM
社区管理员
  • ActiveX/COM/DCOM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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