大家来看下vb.net 的dll调用的奇怪问题

问题描述

使用vb2005dll中函数:__int16__stdcallrf_anticoll(HANDLEicdev,unsignedchar_Bcnt,unsignedlong*_Snr);(返回0为正确)vb2005调用:(声明)PublicDeclareFunctionrf_anticollLib"UReaderDrv.dll"(ByValicdevAsInteger,ByVal_BcntAsByte,ByVal_Snr()AsByte)AsInteger(调用)Dimsnr(3)AsByteDimrfAntiAsIntegerrfAnti=rf_anticoll(icdev,0,snr)问题:rfAnti的返回值不为0,但是snr中传递的数据是正确的是否我的调用出现了问题?谢谢指教

解决方案

解决方案二:
看清楚:函數:rf_anticoll中ByVal_BcntAsByte‘字節dll中:unsignedchar_Bcnt’字符串你的調用:rfAnti=rf_anticoll(icdev,0,snr)是整型數據。你連引用函數的數據類型都不一致,錯了很正常!
解决方案三:
如果這個是正確的的話:dll中函数:__int16__stdcallrf_anticoll(HANDLEicdev,unsignedchar_Bcnt,unsignedlong*_Snr);(返回0为正确)聲明應該為:PublicDeclareFunctionrf_anticollLib"UReaderDrv.dll"(ByValicdevAsIntPtr,ByVal_BcntAsstring,ByVal_SnrAslong)AsInteger'icdev應該是窗體的一個句柄

时间: 2024-10-20 06:23:57

大家来看下vb.net 的dll调用的奇怪问题的相关文章

各位帮我看下VB调用oracle存储过程的一个异常

问题描述 各位帮我看下VB调用oracle存储过程的一个异常 接了一个接口的活,VB写的,调用第三方提供的存储过程出现一个异常,如下:System.Data.OleDb.OleDbException: 未指定的错误 at System.Data.OleDb.OleDbCommand.ProcessResults(Int32 hr) at System.Data.OleDb.OleDbCommand.InitializeCommand(CommandBehavior behavior Boolea

c++-用vb.net(或C#)调用C++编写的DLL时遇到的问题

问题描述 用vb.net(或C#)调用C++编写的DLL时遇到的问题 这部分是在c++中可以正常工作的部分,其声明如下: extern "C" int LHD_Main(unsigned char *pImage, RECT *rcRoi,int w, int h, char *PlateCharacters, RECT *rectPlateLocation, int *PlateReliability, int nMod); 调用如下 //加载图片 IplImage *image =

easyhook-谁会帮看下我的案例 C#调用EasyHook.dll失败

问题描述 谁会帮看下我的案例 C#调用EasyHook.dll失败 源码:http://pan.baidu.com/s/1gdOeafL 几行代码,可以就是失败. 谁能帮修改下 解决方案 起码先看看调用失败返回的错误信息是什么,根据错误号来分析 解决方案二: 帮下源码看看,错误原因很离谱

动态调用dll-C#如何动态调用VB编译的dll里的函数

问题描述 C#如何动态调用VB编译的dll里的函数 有一个VB的工程项目,里面有很多类,每个类里都有相同的函数: 比如 a工程:类模块里有 b类,c类:而b类和c类都有相同的函数d: 我怎么在C#里动态调用b类的d函数呢? 因为是动态调用,所以不能是直接引用dll,再"对象名.函数名": DLLImport和反射都尝试过,关键是我要定位到某个类的那个函数,就不知道怎么弄,麻烦大神帮帮忙

vb.net下利用反射实现字符串调用窗体的功能?

问题描述 如何实现vb.net下利用反射实现字符串调用窗体的功能?从数据库中得到窗体的名字,我想根据窗体的名字来打开该窗体.还请各位大大帮帮我,谢谢了! 解决方案 解决方案二:用C#写的,你弄成VB.net吧privatevoidbutton2_Click(objectsender,EventArgse){Assemblyassembly=Assembly.LoadFile(Application.StartupPath+"\WindowsApplication1.exe");Form

用VB编写ActiveX DLL实现ASP编程

ASP是目前一种广为应用的用来快速构建动态WEB站点的编程语言,默认的内置开发语言是VBScript,由于ASP和微软Windows系列操作系统的结合非常的好,使得ASP已经成为了NT开发平台上面进行WEB开发的首选语言和环境.他有着简单易学,方便快速开发的种种优点,但是他也有着致命的弱点,就是他是脚本语言解释执行的,速度会受到一定的影响,更为关键的是,使用ASP来开发完成一个项目之后,整个项目在交付客户使用的时候,是会连带所有的ASP脚本源代码的,也就无法将商业程序保密了,源代码泄漏会给自己造

dll调用时 权限问题

问题描述 在用户自定义的低权限用户下,C#程序调用vb编写的dll时,提示拒绝访问!正常的用户下能正常运行是不是mathine.config的问题啊?请各路高手指点迷津. 解决方案 解决方案二:该回复于2009-08-18 16:02:36被版主删除

如何将VB编写的DLL及frm转成C#的DLL及frm

问题描述 老板给了我一个文件夹里面都是VB写的DLL程序集以及后缀名为frm的文件啊让我转成C#语言的怎么转啊?求教啊! 解决方案 解决方案二:为什么要转?有什么区别么.解决方案三:引用1楼Z65443344的回复: 为什么要转?有什么区别么. 老板说转啊没办法解决方案四:VB没用过,frm是源文件?你只能打开源文件,把里面代码复制出来,粘到C#工程里,然后语法改改改,重新生成DLL解决方案五:上网查了一下,frm是vb的窗口文件不知道是不是你的dll的源文件c#类文件扩展名是.cs解决方案六:

contentobserver-请进来看下我这样使用ContentObserver为什么观察不到db的变动?

问题描述 请进来看下我这样使用ContentObserver为什么观察不到db的变动? 我最近才接触到ContentObserver,今天写了个sample试了下,发现无法检测到db的改动,代码如下: Activity onCreate()里注册: // register observer mObserver = new ComplexTableObserver(uiHandler); getContentResolver().registerContentObserver( ComplexCo