问题描述
如果现有的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