• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 为什么在查询不到连接点

为什么在查询不到连接点

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了cad捕捉不到点,cad对象捕捉不到点,cad光标捕捉不到点,3dmax捕捉不到点,3d捕捉不到点等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 为什么在查询不到连接点
描述:

Server IDL如下:
import "oaidl.idl";
import "ocidl.idl";
[
object,
uuid(871870A0-63C8-4C92-9106-4E9F003588D6),
helpstring("ICalcComm Interface"),
pointer_default(unique)
]
interface ICalcComm : IUnknown
{
[helpstring("method CalcSqr")] HRESULT CalcSqr([in] int i_In,[out] int * i_Out);
};
[
object,
uuid(871870A0-63C8-4C92-9106-4E9F003588D7),
helpstring("ICalcCommEvent Interface"),
pointer_default(unique)
]
interface ICalcCommEvent : IUnknown
{
[helpstring("method GetCurrentDate")] HRESULT GetCurrentDate([in] int * idate);
};
[
uuid(4BB635E5-96F7-45EA-B053-7EECEDAC7488),
version(1.0),
helpstring("ComServer 1.0 Type Library")
]
library COMSERVERLib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
[
uuid(3AD41525-AF3A-470C-B4E2-816E09E14988),
helpstring("CalcComm Class")
]
coclass CalcComm
{
[default] interface ICalcComm;
[source] interface ICalcCommEvent;
};
};
Client端如下:
   hResult = pContainer->FindConnectionPoint(callid, &m_pConnectionPoint); 
上句返回值为S_OK,
hResult = m_pConnectionPoint->Advise((IUnknown*)m_ICallBack,
&m_dwCookie);
时,跳转到
HRESULT IConnectionEvent::QueryInterface(REFIID riid,
 void** ppv)
{
// riid = Marsel ?
if(riid == IID_IUnknown)
{
*ppv = (IUnknown*)((ICalcCommEvent*)this);
}
else if(riid == IID_ICalcCommEvent)
{
*ppv = (ICalcCommEvent*)this;
}
else 
{
*ppv = NULL;
return E_NOINTERFACE;
}
// AddRef();
return S_OK;
}
中riid参数为IID_IMarshal
晕了,SOS


解决方案1:

用ATL呀, 帮你自动实现连接点. 以下是ATL生成的IDL
import "oaidl.idl";
import "ocidl.idl";
[
object,
uuid(26DB472B-E9BD-4BF2-B1B7-419691A532F1),
dual,
helpstring("Iaa Interface"),
pointer_default(unique)
]
interface Iaa : IDispatch
{
};
[
uuid(E7782A10-6AB2-4FB9-B850-5DB975C7F6AA),
version(1.0),
helpstring("sss 1.0 Type Library")
]
library SSSLib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
[
uuid(5C54892A-1E9B-4B34-9358-4E9A0CA24A35),
helpstring("_IaaEvents Interface")
]
dispinterface _IaaEvents
{
properties:
methods:
[id(1), helpstring("method event")] HRESULT event();
};
[
uuid(6BC50F76-DB01-4420-B98C-62477AF0E824),
helpstring("aa Class")
]
coclass aa
{
[default] interface Iaa;
[default, source] dispinterface _IaaEvents;
};
};

解决方案2:

去看COM 组件设计与应用系列文章中关于连接点的介绍,http://www.vckbase.com/网站。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • HeapFree的异常用trycatch捕捉不到
  • 为什么在查询不到连接点

相关文章

  • 2017-06-04 求救!ATL高手复合控件问题昨天贴的
  • 2017-06-04 如何使用tlh内的类?
  • 2017-06-05 如何无条件强制杀死一个进程?
  • 2017-06-04 是不是一个工程代码多了,编译的时候IDE不会全部编译?
  • 2017-06-05 无法解析的外部符号_CLSID_
  • 2017-06-04 救人要紧!我的同学说要自杀!就因为一个com,不!应该说是函数的问题!事后200分相送。
  • 2017-06-05 子进城继承的SOCKET句柄发送数据时返回WSAEAFNOSUPPORT错误
  • 2017-06-04 VC批量写入excel文件,超链接无法正常链接,显示的是excel函数字符串
  • 2017-06-05 MFC中webbrowser控件问题!
  • 2017-06-04 如何手动把ACTIVEX控件天家到窗口中?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • vc做的comdll供java调用,com能打包吗?如何打包啊
    • 请问,获得dll参数的过程。汇编高手请进)
    • 当应用程序或操作系统向EventLog中的“系统”和“应用程序”写入事件时,会触发哪个Windows消息?
    • 两个线程访问一个全局变量要怎么访问,注意些什么?
    • 请问如何申请数字签名证书?
    • 关于在一个dll中实现两个com组件,然后聚合的问题
    • 线程A里面创建了线程B,C,如果A结束时B,C会自动结束吗?
    • release有这样的警告,请教怎样解决?
    • 调用dll出现以下错误
    • com高手请进!!!

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有