求教 VB 调用含有传递指针参数的 DLL 函数 5

DLL名称:Susi.dll函数原型如上:我在VB,一个form里声明如下:PublicD1,D2AsLongPrivateDeclareFunctionSusiIOCo... DLL名称:Susi.dll

函数原型如上:
我在VB,一个form里声明如下:
Public D1, D2 As Long
Private Declare Function SusiIOCountEx Lib "Susi.dll" (ByVal L1 As Long, ByVal L2 As Long) As Boolean
private Declare Function VarPtr Lib "MSVBVM60" (var As Any) As Long
程序调用函数:
SusiIOCountEx D1, D2
时,系统内存报错,不能Written.
请教有经验的人,我哪里写错了。函数传递的时指针,我也尝试过这样写
SusiIOCountEx VarPtr(D1), VarPtr(D2)
但是程序报错“DLL 调用约定错误”。
展开
 我来答
百度网友bdb9803
2014-09-24 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:53%
帮助的人:1亿
展开全部
Private Declare Function SusiIOCountEx Lib "Susi.dll" (ByRef L1 As Long, ByRef L2 As Long) As Boolean
Byval是值调用,Byref才是地址调用,Dword *传递的是地址指针,要用byref才正确。
追问

还是不可以,试了很多次

追答
dll编译的时候要加 _stdcall,否则VB无法调用
ExcelOffice
2014-09-24 · TA获得超过570个赞
知道小有建树答主
回答量:1583
采纳率:0%
帮助的人:760万
展开全部
请注意看它的两个参数是输出参数
SusiIOCountEx
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式