使用Vc6.0的向导ATC COM APPWizard 建立了一个Com对象CSimpleObj,其具有两个接口:
ISimpleObj,_ISimpleObjEvents。并且实现了事件接口。
注册后,在客户端使用import指令来导入该类型库信息。 ISimpleObjPtr objPtr;
objPtr.CreateInstance("ATLCOM.SimpleObj");
objPtr->Method1(); //需要回调客户(事件)怎样创建/获取事件对象(接口)?怎样实现事件?怎样与ISimpleObjPtr所指对象关联? 谢谢!
ISimpleObj,_ISimpleObjEvents。并且实现了事件接口。
注册后,在客户端使用import指令来导入该类型库信息。 ISimpleObjPtr objPtr;
objPtr.CreateInstance("ATLCOM.SimpleObj");
objPtr->Method1(); //需要回调客户(事件)怎样创建/获取事件对象(接口)?怎样实现事件?怎样与ISimpleObjPtr所指对象关联? 谢谢!
解决方案 »
- Win32 Console appliction 'cMutex' : base class undefined
- 问一个关于乱码的问题~~~~
- dispinterface的问题
- 出来工作(vc开发 )两年了,投去的简历要我回复工资期望值,我不知道该填多少为好,大家给个见意吧.我现在浙江宁波
- 求职笔试必备书籍,要的进来
- STL中的stack如何清空其中所有元素?
- 谁能解释一下 MBCS 与 UNICODE 方式程序中 用 WININET 提交的表单数据的异同?
- 有在南京工作的朋友吗?请进!
- 各位大哥,那位能帮忙看看这个问题!在ATL中是否能够插入WebBrowser或其他什么能显示Html文件的控件么?
- 如何通过程序修改IIS的参数?
- ACCESS 数据库不可识别问题
- winpcap发包的问题:为什么我调用pcap_sendpacket()时系统会当机(蓝屏)?
[
uuid(826760BB-1B2A-4652-A989-313F1A03D852),
helpstring("_ISimpleObjEvents Interface")
]
dispinterface _ISimpleObjEvents
{
properties:
methods:
[id(1), helpstring("method EventMethod")] void EventMethod([in] long inVal);
}; [
uuid(0AA4DCD0-C9A4-4C63-BB28-0A88174895E7),
helpstring("SimpleObj Class")
]
coclass SimpleObj
{
[default] interface ISimpleObj;
[default, source] dispinterface _ISimpleObjEvents;
};连接点实现如下:
template <class T>
class CProxy_ISimpleObjEvents : public IConnectionPointImpl<T, &DIID__ISimpleObjEvents, CComDynamicUnkArray>类定义如下:
class ATL_NO_VTABLE CSimpleObj :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CSimpleObj, &CLSID_SimpleObj>,
public IConnectionPointContainerImpl<CSimpleObj>,
public IDispatchImpl<ISimpleObj, &IID_ISimpleObj, &LIBID_ATLCOMLib>,
public CProxy_ISimpleObjEvents< CSimpleObj >
{
......
};
http://www.codeproject.com/com/connectionpoint.asp