首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

ATL COM怎么实现运行时多态

2013-02-03 
ATL COM如何实现运行时多态ATL COM如何实现运行时多态,就是多个ATL 类实现同一个接口,然后运行时通接口指

ATL COM如何实现运行时多态
ATL COM如何实现运行时多态,就是多个ATL 类实现同一个接口,然后运行时通接口指针调用具体的类方法。主要问题是没办法获取到像普通类那样的一个new出来的对象,恳请各位高手指点
[解决办法]
可以实现同一个接口,IDL文件内容如下:


import "oaidl.idl";
import "ocidl.idl";
[
object,
uuid(ED2715B4-D699-40D6-85C8-7B703AAADDFE),
dual,
nonextensible,
helpstring("IITestOne Interface"),
pointer_default(unique)
]
interface IITestOne : IDispatch{
[id(1), helpstring("method ShowMsg")] HRESULT ShowMsg(void);
};
[
uuid(3BDBF108-4D53-4660-86BE-F44E8B2FCA63),
version(1.0),
helpstring("MyExercise 1.0 Type Library")
]
library MyExerciseLib
{
importlib("stdole2.tlb");
[
uuid(5843388E-DB31-4196-98B9-988DB2D5BE75),
helpstring("ITestOne Class")
]
coclass ITestOne
{
[default] interface IITestOne;
};
[
uuid(5843388E-DB31-4196-98B9-988DB2D5BE76),
helpstring("ITestTwo Class")
]
coclass ITestTwo
{
[default] interface IITestOne;
};
};

热点排行