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

怎么在com接口方法中传递自定义参数,如枚举

2013-03-14 
如何在com接口方法中传递自定义参数,如枚举我参考下面链接http://blog.163.com/ssb_it/blog/static/448761

如何在com接口方法中传递自定义参数,如枚举
我参考下面链接http://blog.163.com/ssb_it/blog/static/448761652008528104116597/,进行操作;我做的工作是vs2008建com组件,然后c++builder来调用,应该不需要自动化吧,所以我用的方法是上面链接的第一种方法,老是出现
E:\64Proe5.0\proeWildfire 5.0\protoolkit\includes\ProToolkitErrors.h(12) : error C2011: “ProErrors”: “enum”类型重定义
f:\64proe5.0workspace\proefun_cbconvert\0304\vssvr\vssvr_i.h(80) : 参见“ProErrors”的声明。
我在idl中加入了定义ProErrors的头文件,然后idl编译后生成的vssvr_i.h.h文件中自动包含了Enum的定义,就导致了类型重定义。如果上述链接中的方法不行,该怎么进行操作啊。郁闷很久了,望大神们指点迷津!
在ProToolkitErrors.h中ProErrors的定义:
typedef enum ProErrors  
{
  PRO_TK_NO_ERROR=  0,
  PRO_TK_GENERAL_ERROR    = -1,
  PRO_TK_BAD_INPUTS= -2,
  PRO_TK_USER_ABORT= -3,
  PRO_TK_E_NOT_FOUND= -4,
  PRO_TK_E_FOUND= -5,
}  ProError, ProErr;   
idl文件中:加入了头文件如下
import "oaidl.idl";
import "ocidl.idl";

#include "ProToolkitErrors.h" com 接口方法 传递自定义参数 枚举 类型重定义
[解决办法]
把枚举转换成VT_UI2等类型不就可以了
[解决办法]
vc中调用参数类型啥样都行,
如果想各种语言适用,那就只能支持variant类型
[解决办法]
首先搞定需不需要自动化,若不需要,直接在idl里添加定义就行了!

热点排行