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

C#中怎么调用C++做成的COM接口?

2011-12-10 
求助:C#中如何调用C++做成的COM接口??有一个ocx的控件,是用C++做成的,封装成了COM接口。其中的一个方法是vo

求助:C#中如何调用C++做成的COM接口??
有一个ocx的控件,是用C++做成的,封装成了COM接口。
其中的一个方法是   void   GetDiNum(VARIANT*   diList);
在控件中被封装成了   void   GetDiNum(ref   object   diList);

请问如果要在C#中调用该接口,如何给给该方法传值?
C#中VARIANT对应哪种类型?

在线等待。

[解决办法]
C#中没有VARIANT类型,代之的是object类型,理论上可以传递任何类型过去。但实际可以传递什么类型就要看你的OCX的实现了!
[解决办法]
http://www.cppblog.com/mzty/archive/2007/06/04/25522.html
[解决办法]
VARIANT在C#里面,可以对应一个结构体struct。

传递一个C#的结构体就应该没有任何问题了。
[解决办法]
Importing SafeArrayCreate (i.e., [DllImport( "oleaut32.dll ")] SafeArrayCreate) ;

热点排行