当前位置:编程学习 > VB >>

请教高手。C++与VB的问题。

我是熟悉VB的,有一个仪器通讯是USB的,厂家只给出了C的代码。我想转换到VB,可是试了一天都无果。请各位前辈指点。谢谢。 
--------------------编程问答-------------------- 封装成dll调用。
让我搞一天搞定,但是耽误我一天的工资大约是600元。 --------------------编程问答-------------------- 那就学c语言 --------------------编程问答-------------------- 最关键是前面几条函数声明。
从第4条,到第8条。
谢谢。 --------------------编程问答-------------------- 前者三个字母,后者两个 --------------------编程问答-------------------- 就是这几行。

--------------------编程问答-------------------- 图片有点宽,在新窗口打开看。
--------------------编程问答-------------------- 应该可以直接调的 --------------------编程问答-------------------- 这是我最喜欢的传统题目,呵呵

Declare Function OpenUsb Lib "xxx.dll" (devices As Byte, pDevice As Long) As Long
Declare Sub ReadData Lib "xxx.dll" (inBuf As Any, lLen As Long, xferTime As Long)
Declare Function WriteOneByte Lib "xxx.dll" (ByVal addr As Byte, comData As Byte) As Long
Declare Sub CloseUsb Lib "xxx.dll" ()

...
Dim pUSB As Long
Dim devices As Byte
...
Dim buffer(1023) As Byte
...
Call ReadData(buffer(0), 1024, , 2000)
--------------------编程问答--------------------
引用 8 楼 supergreenbean 的回复:
这是我最喜欢的传统题目,呵呵

Declare Function OpenUsb Lib "xxx.dll" (devices As Byte, pDevice As Long) As Long
Declare Sub ReadData Lib "xxx.dll" (inBuf As Any, lLen As Long, xferTime As Long)
Declare Function……

豆子你真强,我崇拜你! --------------------编程问答-------------------- 代码如果没问题编译出来直接由VB来调用了 -_- 调用方式豆哥都写好了. --------------------编程问答-------------------- 好久不用C了,无符号字符型是对应VB的byte么?  (疑问句,不是反问句) --------------------编程问答--------------------
它给的就是 DLL 代码,编译成 .dll 文件可直接调用。也许它附带的就有 .dll 文件,找找看。

VB 标准模块中声明:

Declare Function OpenUsb Lib "DSOKey.dll" (ByRef devices As Byte, ByRef hDev As Long) As Long

Declare Sub ReadData Lib "DSOKey.dll" (Byref inBuf As Byte, Byval lLen As Long, Byval xferTime As Long)

Declare Function WriteOneByte Lib "DSOKey.dll" (ByVal addr As Byte, ByRef comData As Byte) As Long

Declare Sub CloseUsb Lib "DSOKey.dll" ()

调用时,Byte 参数要加索引号,如:

Calll WriteOneByte(addr(0), comData(0))

--------------------编程问答-------------------- DllEXPORT 已经告诉你了。人家就是调用的DLL函数么?Dll 名称就叫DSOKEY
大致看了一下 真正的代码都在DLL里面放着呢。你VB只要知道如何调用Dll函数就可以了。  --------------------编程问答-------------------- lz应该问问厂家,做的dll是否支持vb,用vb调用的dll,函数前必须用__stdcall来修饰。我记得好像是这样的。
补充:VB ,  API
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,