请问C#调用dll文件的问题

问题描述

如果现有的dll动态链接库,用vb调用时的代码是:PublicDeclareSubTHERM2dllLib"REFPROP.DLL"(ByReftAsDouble,ByRefdAsDouble,ByRefxAsDouble,ByRefpAsDouble,ByRefeAsDouble,ByRefhAsDouble,ByRefsAsDouble)那用C#调用时对应的代码应该是什么样子呢?

解决方案

解决方案二:
DllImport调用非托管类库
解决方案三:
[DllImport("refprop.dll",EntryPoint="THERM2dll",SetLastError=true)]publicstaticexternvoidTHERM2dll(refdoubleTK,refdoublerho,double[]X,[In,Out]refdoublePKPA,[Out]doublee,[Out]doubleh,[Out]doubles)
解决方案四:
这是我编的,总是提示内存问题,会是什么原因呢?
解决方案五:
不知道楼主最后用c#调用成功了没有,小弟最近调用也总是不成功,能否给指点一二。
解决方案六:
直接用反射不可以吗?
解决方案七:
都要加上out或者ref的。
解决方案八:
引用3楼u011042764的回复:

这是我编的,总是提示内存问题,会是什么原因呢?

我最近项目中的调用方法,调用成功[DllImport("Test_Dll.dll",EntryPoint="函数名")]publicstaticexternbool函数名(参数);
解决方案九:
如果是托管的,你可以用反射。如果不是托管的,你就用[DllImport]

时间: 2024-08-26 15:32:34

请问C#调用dll文件的问题的相关文章

第三方dll文件-Java中利用jawin调用dll文件,invoke的参数问题

问题描述 Java中利用jawin调用dll文件,invoke的参数问题 各位大神: dll中的被调用方法如下: long WINAPI AutoOpenComPort(long* Port, unsigned char *ComAdr, unsigned char Baud,long *FrmHandle); 其中: Port:输出变量, ComAdr:输入/输出变量 Baud:输入变量 FrmHandle:输出变量 请问它的 msgBox.invoke(instructions, stack

activex-C#开发ActiveX控件调用dll文件时,dll文件放在什么位置,我的出错了

问题描述 C#开发ActiveX控件调用dll文件时,dll文件放在什么位置,我的出错了 通过c#谢了一个很简单的Activex控件,调用dll文件(dll文件是c++写的,并且dll文件不是com组件),在普通的容器中调用动态库都没问题,但是通过activex时就会出错,请问这是问什么,请留言,也可以加我qq:574225218 解决方案 在dll文件中调用VBA的命令 解决方案二: 是在IE中测试出错么?尝试把浏览器的安全等级设置全部调到最低,在客户端安装.net framework并且运行

c# dllimport-DllImport 方法调用dll文件返回-4

问题描述 DllImport 方法调用dll文件返回-4 大侠们,我想问下我用下面方法调用dll文件,用方法openFile_DLL取值时返回值总是-4,请问是何原因?谢谢. [DllImport("GFileAnalysis.dll", EntryPoint = "openFile", CallingConvention = CallingConvention.Cdecl)] private static extern int openFile_DLL(strin

调用dll文件,本应该创建该文件,但是在指定文件夹中并未显示出该文件

问题描述 调用dll文件,本应该创建该文件,但是在指定文件夹中并未显示出该文件 string a= "D://nihao.docx"; Char[] result = new Char[1024]; int check; check = CPPDLL.createCombinationFile(a.ToCharArray()); //创建该文件,成功返回0,运行时返回0,但在指定目录下并未出现该文件 check = CPPDLL.writeCombinationFile(a.ToCha

javascript-使用javaScript如何调用dll文件

问题描述 使用javaScript如何调用dll文件 有一个报警灯的dll文件,程序报错的时候要使报警灯报警,现在要在页面上使用js去调用这个dll文件,求大神们帮帮我! 解决方案 用vb等语言包装一个activex,js可以调用activex,但是只有ie等浏览器支持,而且要调整浏览器安全性. 解决方案二: 做成acx安装到ie浏览器,js直接调用不了dll.你那个dll主要实现什么功能?要调用客户端资源没有还是只是网页显示更改下样式什么的?

linux下,java调用dll文件时,dll应该放在哪

问题描述 windows下,java调用dll文件时,dll放在system32这个文件夹下面,那linux下,dll文件应该放在哪? 问题补充:radio123 写道 解决方案 楼主要伤心了 linux底下应该不能直接调用dll 二进制格式不一样解决方案二:你们有谁做过把网页生成图片的功能吗,我提问很久了,都没人搭理我,我在windows下行,在linux下就不行了解决方案三:其实我也是啊,一个功能好不容易实现了,但是linux下不能运行,郁闷死了解决方案四:这个还真没有,还是借助网上力量搜索

VB2010中如何调用DLL文件

问题描述 使用仰邦科技的LED控制卡BX_5MT,使用文档的DEMO里没有VB.Net的程序.只有VB6的DEMO,里面有个bas的类文件,是用Declarefunction声明文件使用dll的,dll文件不用regsvr32注册的,在引用里也没看到该DLL的.现在用VB2010,在添加引用了添加dll文件,提示"未能添加引用,请确保该文价可访问并且是一个有效的程序集或COM组件",不能添加引用,也就不能用声明,也没发用import.请问是不是该DLL文件不支持VB2010.另在DEM

c++-c#调用dll文件的详细过程

问题描述 c#调用dll文件的详细过程 我有一个c语言写好的工程文件.怎么用封装成dll文件,c#还要调用这个dll 解决方案 封装成标准windows dll,然后c#可以直接调用

jnative 调用dll文件

问题描述 我在myEclipse工具中建了一个java类,里面写的是jnative调用dll文件,但不知道怎么老是错误!//源代码publicstaticvoidmain(String[]args)throwsNativeException,IllegalAccessException{System.loadLibrary("test");JNativejnative=newJNative("test","show");jnative.setRe