在.net中,ATL写的COM组件接口与标准C++写的接口之间有啥区别,我知道ATL的接口是在IDL文件中定义的,而且每个接口都有一个UUID,我现在写了一个标准C++接口,想让组件继承它,同时还写了一个类,此类也继承这个接口,然后组件去控制类的操作,这样可行吗?
解决方案 »
- 用vs2010不能正常显示文字
- STL vector可以用作函数的形参吗?
- 100分求教(急!在线等待!):怎么关闭父窗口的所有子窗口,举个例子父窗口是view 视图,视图中我创建了多个非模式对话框,在视图的析够函数中我想关闭所有的对话框,怎么做?
- 关于CFormView派生类的问题
- 如何读取注册表的默认值??
- 关于winsock接收多帧的问题
- 一个可能是简单问题,但我真的不知道,顺便散分,并向各位大虾问好
- VC操作xls,并不破坏目标xls的任何格式
- 请教一下:如何用SDK创建一个ListView,并且向其中加入内容?
- 如何获得指定hwnd窗口下所有子窗口的hwnd
- 图像剪切与合成
- RtlInitUnicodeString 第二个参数可以用变量来表示吗?
“IDL是接口定义语言。
MIDL是Microsoft的IDL编译器。
在用IDL对接口和组件进行了描述后,可以用MIDL进行编译,生成相应的代理和存根DLL的C代码。”
所以你只要在VC中使用组件的编写,那就跟C++语言没什么区别了
你可以在类中继承C++接口,然后就通过这个组件使用这个接口,这是在VC的前提下。
想用组件控制类的操作,你得有这个类的声明文件,然后可以让组件返回这个类,但不要用QueryInterface方式来得到类,可以用类似GetXX方式来得到,再进行类的操作。这样的话,你得有一个类的声明文件
到调用你组件的程序只能获得你通过IDL里描述的接口。