易截截图软件、单文件、免安装、纯绿色、仅160KB

VB调用VC写的DLL出了点问题

VC DLL:
BOOL __stdcall LEDShowCharge(byte addr,byte ledaddr,int staytime,int charge);

VB :
Declare Function LEDShowCharge Lib "CardPc300.dll" (ByVal Addr As Byte, ByVal ledaddr As Byte, ByVal stattime As Long, ByVal charge As Long) As Boolean

Private Sub LEDShowCharge_Click()
Dim stattime As Long
Dim charge As Long
Dim test As Byte
    stattime = 20
    charge = 5
    test = 25
If LEDShowCharge(1, 255, stattime, charge) Then
  MsgBox ("设置收费成功")
  Else
  MsgBox ("失败!")
  End If
End Sub


结果出现 “错误地参数号或是无效地属性赋值” 的错误。查看LEDShowCharge(1, 255, stattime, charge)的定义时提示说什么被隐藏了。这VB代码是我同事写的,VC DLL是我写的,不知道会不会是我DLL的问题,但是我用VC DELPHI调用的时候都正常啊
1、 你的DLL中函数导出了吗?
2、如果DLL已经导出出现这个问题,把VB的声明返回参数用long 替换boolean试试

函数有导出,我用delphi调用也很正常。


Declare Function LEDShowCharge Lib "CardPc300.dll" (ByVal Addr As Byte, ByVal ledaddr As Byte, ByVal stattime As Long, ByVal charge As Long) As Long

---------------------------

C:
#define TRUE 1
#define FALSE 0

BOOL = int
bool = byte

VB:
True = -1
False


相关问答:

asp.net(vb)问题

login.aspx.vb:

    Public ReadOnly Property nameT() As String
        Get
            Return TextBox1.Text
    &nb ......

vb的成功之路 - 扩充话题 / 共享软件(走向海外)

在vb这编程里似乎有很多的东西是相联系的,为什么有些人对vb的编程摸不到头脑啊!并且有些事很容易的,但是却把它们的代码变成复杂,也去想一些不能实现的东西啊!




没分了,楼主多来点分!

来接点分

......

VB如何联系两个窗体?

就是设计一个计算机模拟考试系统,带有学生和管理员,所以登录窗体和主窗体想分开,登陆学生的显示学生的主窗体,登陆管理员显示管理主窗体,我只会一个窗体用一堆控件,现在享有多个主窗体,不知道怎么做,希望请大 ......

vb查询数据库问题

怎么优化查询的效率,比如我想从100万条记录中每次只查询100条记录的话,那么这条sql语句该怎么实现,注意:语言是VBScript的,
http://www.cnblogs.com/anjou/archive/2007/10/17/926944.html

涉及到算法,goog ......

vb插入数据库重复值问题

在vb中怎么判断,插入到数据库中的值是重复的,本人才刚接触VB语言,甚是有好多地方还不懂,还请各位大侠们给出代码,谢谢了呀!!!
插入之前select一下阿。
或者写一个组合SQL插入语句,例如
IF not Exist(
& ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号