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

c#中怎样调用C++的动态链接库,该如何处理

2012-01-24 
c#中怎样调用C++的动态链接库c++中的dll文件名为pr2.dll,以下是其中的一个函数,请问在c#中怎样调用:Functi

c#中怎样调用C++的动态链接库
c++中的dll文件名为pr2.dll,以下是其中的一个函数,请问在c#中怎样调用:
Function PR2MagReadTrack2(hDev:integer;n:integer;const RecData:LPStr):integer;stdcall;
//功能: 读存折上的磁条二磁道信息
//参数:hDev-设备描述表,n-磁条标准,RecData-存放读到信息的指针.
//返回: 0-执行正确;小于0执行失败
// -2 - 空白磁条
// -3 - 读出错或校验错
// -4 - 没有存折


[解决办法]
哇 什么代码哎..
[DllImport("pr2.dll")]
extern int PR2MagReadTrack2(int hDev,int n,string RecData);

使用的时候,
int ret = PR2MagReadTrack2(123,32,"fhnsandf");
[解决办法]
[DllImport("pr2.dll")] 
extern int PR2MagReadTrack2(int hDev,int n,string RecData); 
使用的时候
int ret = PR2MagReadTrack2(123,32,"fhnsandf");

恩这样就行了
[解决办法]

C# code
[DllImport("pr2.dll")]extern int PR2MagReadTrack2(int hDev,int n, [out] [MarshalAs(UnmanagedType.LPStr)] string RecData);使用的时候string OO;int ret = PR2MagReadTrack2(123,32,OO);
[解决办法]
顶一楼
[解决办法]
C# code[DllImport("pr2.dll")] 
extern int PR2MagReadTrack2(int hDev,int n, out [MarshalAs(UnmanagedType.LPStr)] string RecData); 
使用的时候 
string OO; 
int ret = PR2MagReadTrack2(123,32,out OO);
[解决办法]
探讨
哇 什么代码哎..
[DllImport("pr2.dll")]
extern int PR2MagReadTrack2(int hDev,int n,ref string RecData);

使用的时候,
string result = null;
int ret = PR2MagReadTrack2(123,32,ref result);

[解决办法]
static?

热点排行