佚名通过本文主要向大家介绍了com组件在哪里,com组件,com组件是什么,com组件下载,com组件注册等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: COM组件里如何导出结构
描述:
解决方案1:
描述:
我遇到一个vc的问题
我们在做一个COM/COM+组件对象时
如果要导出一个类C,实际还得定义一个接口I,
我们在接口I中定义一个纯虚函数F,然后类C实现接口I
这样在外界看来,例如VB中调用这个ActiveX DLL。
看到的是类C和方法F,C中其他的函数F1,F2,F3....都不会导出
在生成这个COM DLL时,还会用到 IDL 接口定义文件。
这个文件里是关于这个接口的定义
我在VB中察看DirectX 8 VB Library 时发现
里面除了接口和类,还有结构(Struct)和枚举(Enum)
DirectX应该也是一个COM组件
所以我就非常奇怪,它到底是通过什么办法导出结构和枚举呢?
按照道理说COM组件对外可见的应该是它的接口部分
这个接口实际是一个抽象类
但接口里好像不能放结构
解决方案1:
[uuid (...)]
typedef struct _MY_STRUCT
{
...
}MY_STRUCT
通过类型库
解决方案3:IDL里面可以定义结构和枚举变量。