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

这里有人懂C++和com技术吗?懂的请进来帮俺一个大忙,多谢啦

2011-12-29 
这里有人懂C++和com技术吗?懂的请进来帮俺一个大忙,谢谢啦我在com的idl文件中定义了一个枚举类型:[v1_enum

这里有人懂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}

热点排行