COM中的安全数组SAFEARRAY、与在VC++(VARIANT) C#(object)中调用

最近在做WEBGIS项目,要调用以前一些VC的DLL,所以使用COM进行封装,在C#中传数组头痛了几天,今天终于调试出来了。 由于COM中不能直接使用数组,所以经常使用到SAFEARRAY与VARIANT的转换 SAFEARRAY* pSA; SAFEARRAYBOUND aDim[1];...

2012-03-24 10:51:20

阅读数:2771

评论数:0

C#如何直接调用非托管代码

C#如何直接调用非托管代码,通常有2种方法: 1.  直接调用从 DLL 导出的函数。 2.  调用 COM 对象上的接口方法 我主要讨论从dll中导出函数,基本步骤如下: 1.使用 C# 关键字 static 和 extern 声明方法。 2.将 DllImport 属性附加到该方法...

2012-02-23 21:58:55

阅读数:907

评论数:0

C#中调用非托管的DLL及参数传递 (一)

微软的.NET框架的优点之一是它提供了独立于语言的开发平台。你可以在VB、C++、C#等语言中编写一些类,而在其它语言中使用(源于.NET中使用了CLS),你甚至可以从另一种语言编写的类中继承。但是你要是想调用以前的非托管DLL,那又会怎么样呢?你必须以某种方式将.NET对象转换为结构体、char...

2012-02-23 21:56:03

阅读数:1255

评论数:0

C#和C++的主要区别

算是一篇学习笔记吧。记录一下学习中的感受,以便日后查询。 1 cs中的所有类都派生于同一个称作System.Object的基类。cpp没有这么一个基类,但vc中有一个祖先类CObject类,与cs不同的是,用户自定义的类可以不从它继承。 2 c#中定义一个实例时,如果是数值型,则在栈上创建;如...

2012-02-23 21:27:17

阅读数:435

评论数:0

C#调用VC的DLL的接口函数参数类型转换

handle---------IntPtr   hwnd-----------IntPtr   char *----------string   int * -----------ref int   int &-----------ref int   void *---...

2012-02-23 21:17:02

阅读数:670

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭