日期:2014-05-19  浏览次数:20792 次

这里有人懂C++和com技术吗?懂的请进来帮俺一个大忙,谢谢啦
我在com的idl文件中定义了一个枚举类型:
[
v1_enum,
]
enum
{
[helpstring( "创建新文件 ")] ET_CREATE_NEW =       0,
[helpstring( "更新文件数据 ")]ET_UPDATE_FILE =       1
};

com客户端程序如果用c++来写的话,可以包含一个头文件(这个头文件是根据idl文件产生的,包含这个enum类型),直接使用ET_CREATE_NEW和ET_UPDATE_FILE。

在C#程序中如何使用呢?

------解决方案--------------------
如果com已经在电脑上装了的话,可以在通过添加引用来引用Com对象的,直接使用com中定义的接口和类 就可以了
------解决方案--------------------
if(MessageBox.Show( "ok? ", "消息 ",System.Windows.Forms.MessageBoxButtons.YesNo)==System.Windows.Forms.DialogResult.OK)
System.Windows.Forms.MessageBoxButtons和System.Windows.Forms.DialogResult是c#里面的enum,
你添加了com引用后,相关的类中就会出现向对应的enum类型,


------解决方案--------------------
idl文件中,把enum类型放在库中:

YourLib
{
coclass{};
...
enum YourEnum{A=0,B,C};

};

C#中:
Add Reference-> YourLib:
.cs文件中,import YourLib;

然后输入YourEnum.,就会发现后面出来列表{A,B,C}