| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 344 人关注过本帖
标题:VB调用Dll时约定错误
收藏  订阅  推荐  打印 
wyfandy
Rank: 3Rank: 3
来自:深圳
等级:中级会员
帖子:375
积分:3950
注册:2006-12-11
VB调用Dll时约定错误

用vb调用用VC++写的一个Dll文件时,出现实时错误‘49’:DLL调用约定错误

Drive.h定义如下:

............
// public method
ND80DRIVER_API int ConnectSerial ( int comport , int bandrate ) ;
ND80DRIVER_API void Disconnect () ;
ND80DRIVER_API BOOL IsOpened () ;
............

VB定义调用如下:

Private Declare Function ConnectSerial Lib "ND80Driver.dll" (ByVal comport As Integer, ByVal bandrate As Integer) As Integer

Private Declare Sub Disconnect Lib "ND80Driver.dll" ()

Private Declare Function IsOpened Lib "ND80Driver.dll" () As Boolean

Private Sub Command1_Click()
Dim i As Integer
i = ConnectSerial(1, 19200)
Disconnect
If IsOpened = True Then
MsgBox "真"
Else
MsgBox "假"
End If
End Sub


为什么在红色字体处出现:DLL调用约定错误。


附件: 只有本站会员才能下载或查看附件,请您 登录注册
搜索更多相关主题的帖子: Dll  约定  
2007-5-9 17:12
ioriliao
Rank: 12Rank: 12Rank: 12
来自:广东
等级:贵宾
威望:29
帖子:2150
积分:24213
注册:2006-11-30

试试把这句Dim i As Integer定义为变体类型Dim i As Variant

105本高清PDF电子书 :http://www.cnblogs.com/ioriliao/archive/2008/10/20/1315343.html
VB爱好者1号群:31556786
2007-5-9 18:01
wyfandy
Rank: 3Rank: 3
来自:深圳
等级:中级会员
帖子:375
积分:3950
注册:2006-12-11

一样不行,再说为什么要改为变体类型呢?

不论什么事,只要认准了一个目标,然后朝之不懈地努力,就一定实现。编程爱好者QQ群:21318556
2007-5-10 09:06
wyfandy
Rank: 3Rank: 3
来自:深圳
等级:中级会员
帖子:375
积分:3950
注册:2006-12-11

这个和变量I没有好大的关系,用ConnectSerial 1, 19200一样也会出错

不论什么事,只要认准了一个目标,然后朝之不懈地努力,就一定实现。编程爱好者QQ群:21318556
2007-5-10 09:09
ioriliao
Rank: 12Rank: 12Rank: 12
来自:广东
等级:贵宾
威望:29
帖子:2150
积分:24213
注册:2006-11-30

我想到的就是c的类型和vb有不同.可能是类型转换的问题.但现在不是了!
你有把程序编译过么.编译试试看行不!


105本高清PDF电子书 :http://www.cnblogs.com/ioriliao/archive/2008/10/20/1315343.html
VB爱好者1号群:31556786
2007-5-10 09:42
ioriliao
Rank: 12Rank: 12Rank: 12
来自:广东
等级:贵宾
威望:29
帖子:2150
积分:24213
注册:2006-11-30

我测试过了.生成exe文件就没问题了!

105本高清PDF电子书 :http://www.cnblogs.com/ioriliao/archive/2008/10/20/1315343.html
VB爱好者1号群:31556786
2007-5-10 09:45
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.074190 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved