这个dll函数vb如何引用

问题描述

intOpenComm(HANDLE*hCom,char*com_port)vc的调用如下:●——hCom:串口句柄●——com_port:串口文件名调用例程:charcomm[]="COM1";OpenComm(&h_Com,comm);if(h_Com!=INVALID_HANDLE_VALUE){AfxMessageBox("打开串口成功!");}else{AfxMessageBox("打开串口失败!");}//++====================================================请问vb如何申明调用,我这样申明调用出错PublicDeclareFunctionOpenCommLib"EPCDemoDll.dll"(ByRefhandAslong,ByValcomAsString)AsInteger调用:DimhandAsLongDimcomPortAsStringcomPort="COM1"OpenCommhand,comPort报错,错误号49请大侠指点下

解决方案

解决方案二:
ding
解决方案三:
zaiding
解决方案四:
试试在图形模式,你工程管理器引用看看。
解决方案五:
没用过,试试:PublicDeclareFunctionOpenCommLib"EPCDemoDll.dll"(ByRefhandAsInteger,ByValcomAsString)AsInteger
解决方案六:
谢谢,上面的方法不行。
解决方案七:
我也是使用不了这个函数,我的函数申明跟你一样PublicDeclareFunctionOpenCommLib"EPCDemoDll.dll"(hcomAsLong,ByValcommAsString)AsLong-------------------------------------------函数调用dimhcomaslongdimcommasstring*6comm="COM1"OpenCommhcom,comm调用错误显示“49”后来在百度又搜搜发现有的网友在PowerBilder调用也错误,估计说dll导出函数时候使用的不是__stdcall,我又在函数申明里面改了点PublicDeclareFunctionOpenCommLib"EPCDemoDll.dll"Alias"OpenCommA"(hcomAsLong,ByValcommAsString)AsLong结果还是实时错误“453”,郁闷了
解决方案八:
你用工具箱的SerialPort控件,直接编也快啊,别人编的DLL,不见得很合理和方便的,一般是能用就不错了,看你这个DLL像EPC周立功的主板WINCE系统吧,呵呵,这种系统上DLL是多,也能用,有本该厂的手册,告诉你怎么做文件头声明的,其实他的DLL你一个都可以不用,自己做也快哦
解决方案九:
一般为了很好的调用DLL,需要厂家说明用法的,或提供DLL源码,自己打开,基本琢磨下,就可以调用了,非托管的调用,有时需要涉及内存分配和指针配合来调用。
解决方案十:
C#和VBNET的DLL是指令集,很容易反汇编的,有专门软件,调用时也简单,添加到引用就可以使用了

时间: 2025-01-03 01:48:39

这个dll函数vb如何引用的相关文章

vb.net引用别人写得控件

问题描述 我想用vb.net引用别人写得控件,这个控件是C#写的,我添加DLL文件后,再怎么操作才能在工具箱显示这个控件啊,因为这个控件是类似于DATAGRIDVIEW控件,要显示数据的 解决方案 解决方案二:去技术区才行解决方案三:技术区问吧

C++函数参数中引用和指针有什么区别?

问题描述 C++函数参数中引用和指针有什么区别? C++函数参数中引用和指针有什么区别? 解决方案 ★ 相同点: 1. 都是地址的概念: 指针指向一块内存,它的内容是所指内存的地址: 引用是某块内存的别名. ★ 区别: 1. 指针是一个实体,而引用仅是个别名: 2. 引用使用时无需解引用(*),指针需要解引用: 3. 引用只能在定义时被初始化一次,之后不可变:指针可变: 引用"从一而终" ^_^ 4. 引用没有 const,指针有 const,const 的指针不可变: 5. 引用不能

调用DLL函数的问题

问题描述 DLL函数带一个字节数组BYTE()参数,该数组返回时比传送时多4个字节.这个问题怎么弄? 解决方案 解决方案二:把函数声明贴出来看看吧解决方案三:....一个是输入参数一个是函数(方法)的返回.又不是同一个东西.两个数组又不是一个东西.有什么好比较的.

引用函数-c++怎么在view里的一个函数引用的函数里再引用一个函数?

问题描述 c++怎么在view里的一个函数引用的函数里再引用一个函数? 下面第一个函数就是我想要在第二个函数里面用的,而第二个函数是第一个引用的 void CZHANGMIN1View::InsertSort(unsigned char pArray, int iLength) { unsigned char tmp; int i, j; for(i = 1; i < iLength; i++) { j = i-1; tmp = pArray[i]; while(j >= 0 &&am

c#调用c++dll函数时参数传递的问题?怎样正确传值?

问题描述 c#调用c++dll函数时参数传递的问题?怎样正确传值? 在c++项目cpptest.dll中定义: struct A { int X; int Y; }; extern "C" __declspec(dllexport) int fun1(A *a); int fun1(A *a) { return a->X; } 在C#项目中定义: [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] class

php函数传值的引用传递注意事项分析_php技巧

本文实例讲述了php函数传值的引用传递注意事项.分享给大家供大家参考,具体如下: Strict standards: Only variables should be passed by reference 网上查到资料有这么一句话: 在php5.3以上版本会出这个问题,应该也和php的配置有关,只要把这一句拆成两句就没有问题了.因为array_walk的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值.当然你也可以修改php.ini 里的 error_reporting

实参-关于const函数形参的引用问题

问题描述 关于const函数形参的引用问题 c++中,const引用的形参可以不用复制实参,那么非const引用形参是否要复制实参呢?什么情况下形参要复制实参呢?复制的具体含义是什么? 解决方案 首先看函数调用时形参数据会被拷贝至寄存器或者调度栈内,引用的形参和实参关系,形参和实参都指向同一块内存区域,引用相当于指针,实参将其地址复制给形参,再看非引用形参和实参,则是值拷贝.const 只是告诉编译器函数调度中其修饰参数只读. 解决方案二: 复制不复制是编译器的事情,只要保证const修饰的参数

va_list-c++动态参数函数中使用引用问题

问题描述 c++动态参数函数中使用引用问题 void fun(char* ftm, ...) { int temp = 10; va_list va; char* s1 = va_start(va,ftm); // 怎样为引用赋值? char outNum[_INTSIZEOF(int)]; sprintf_s(outNum, "%d", 10); memcpy((char*)va, outNum, _INTSIZEOF(int)); //*((int *)((va += _INTSI

如何在vb中引用access数据库中的窗体

问题描述 如何在vb中引用access数据库中的窗体 如何在vb中引用access数据库中的窗体 我在vb.net中不知道怎么链接access,我打开那个数据库连接也只能连到表格,连不到窗体,我想连接窗体.大概就是实现在vb.net中按下一个bottom可以弹出access中我已经做好的一个窗体.请告诉我具体的步骤及代码.是期末作业,请各位大神帮忙啊!!!