求高手解决c#平台调用的数据封送问题
现在我需要在c#中调用一个外部dll文件的函数。代码如下:
c++的dll文件中的原函数:
typedef void (__stdcall *fp_SETUPdllTYPE)(long &,char*,char*,char*,long &,char*,long ,long ,long ,long );
我在c#中的调用代码:
[DllImport("refprop.dll")]
private extern static IntPtr SETUPdll(ref int l1, StringBuilder s2,
StringBuilder s3, StringBuilder s4, ref int l5, StringBuilder s6, int l7,
int l8, int l9, int l10);
int i=1, ierr=5;
StringBuilder hf = new StringBuilder("nitrogen.fld");
StringBuilder hrf = new StringBuilder("DEF");
StringBuilder herr = new StringBuilder("NO");
StringBuilder hfmix = new StringBuilder("hmx.bnc");
SETUPdll(ref i, hf, hfmix, hrf, ref ierr, herr, 20000, 255, 3, 255);
目前无法运行,不知道什么问题,请高手指点,小弟跪求
c++的dll文件中的原函数:
typedef void (__stdcall *fp_SETUPdllTYPE)(long &,char*,char*,char*,long &,char*,long ,long ,long ,long );
我在c#中的调用代码:
[DllImport("refprop.dll")]
private extern static IntPtr SETUPdll(ref int l1, StringBuilder s2,
StringBuilder s3, StringBuilder s4, ref int l5, StringBuilder s6, int l7,
int l8, int l9, int l10);
int i=1, ierr=5;
StringBuilder hf = new StringBuilder("nitrogen.fld");
StringBuilder hrf = new StringBuilder("DEF");
StringBuilder herr = new StringBuilder("NO");
StringBuilder hfmix = new StringBuilder("hmx.bnc");
SETUPdll(ref i, hf, hfmix, hrf, ref ierr, herr, 20000, 255, 3, 255);
目前无法运行,不知道什么问题,请高手指点,小弟跪求
...全文
相关推荐
C#调用C++类中的方法
通过C#调用C++类中的方法,在网上很难找到的,本人通过好久才测试成功的
C# 程序员参考--平台调用教程
本教程说明使用什么方法才能从 C# 调用非托管 DLL 函数。该教程所讨论的属性允许您调用这些函数并使数据类型得到正确封送。
C#调用matlab画图,解决图像嵌入Winform窗体和首次画图慢的问题
C#调用matlab画图,将图像嵌入Winform窗体,并解决首次画图慢的问题 预览和介绍请看:http://blog.csdn.net/yxy244/article/details/79305757
C#调用C++DLL传递结构体数组的终极解决方案
C#调用C++DLL传递结构体数组的终极解决方案 在项目开发时,要调用C++封装的DLL,普通的类型C#上一般都对应,只要用DllImport传入从DLL中引入函数就可以了。但是当传递的是结构体、结构体数组或者结构体指针的时候,就会发现C#上没有类型可以对应。这时怎么办,第一反应是C#也定义结构体,然后当成参数传弟。然而,当我们定义完一个结构体后想传递参数进去时,会抛异常,或者是传入了结构体,但是返回值却不是我们想要的,经过调试跟踪后发现,那些值压根没有改变过,代码如下。 [DllImport(workStation.dll)] private static extern bo
多线程的封送
用Vs的winfroms编写的多线程的封送


