VB里面要使用Rvo3000bui.dll里面的函数,
在这个个标准模块里面有
Declare Function OscInit Lib "RVO3000BUI.DLL" (ByVal Port As Long, DacK As Double, DacOffset As Long) As Long
的语句.
我后来在窗体文件里面调用    Error = OscInit(Port, DacK(1), DacOffset(1))
这一句话老是报错:runtime error
                 object required
到底是什么原因呢?我后来将Declare Function OscInit Lib "RVO3000BUI.DLL" (ByVal Port As Long, DacK As Double, DacOffset As Long) As Long
改为:
Declare Function OscInit Lib "C:\WINNT\SYSTEM32\RVO3000BUI.DLL" (ByVal Port As Long, DacK As Double, DacOffset As Long) As Long
即指定了这个dll文件的位置,还是报的相同的错误.万望大侠指点迷津,谢谢

解决方案 »

  1.   

    Declare Function OscInit Lib "RVO3000BUI.DLL" (ByVal Port As Long, DacK As Double, DacOffset As Long) As Long
    在标准模块里要定义成公共的,窗体里才能调用:
    Public Declare Function OscInit Lib "RVO3000BUI.DLL" (ByVal Port As Long, DacK As Double, DacOffset As Long) As Long
      

  2.   

    public我试过了,不行,好郁闷..................
      

  3.   

    一楼的是不是说胡话?Declare Function OscInit  跟加上Public是同样的!二楼提议RVO3000BUI.DLL可能是个COM,需要注册,要注册的话在命令行输入:
    regsvr32 要注册的文件(全路径),如果提示"注册成功之类"的消息框,说明确实是个COM组件
    然后再VB的工程-->引用列表中选取RVO3000BUI. 在代码中就不是用Declare来申明了,而是
    创建一个该COM实例,然后执行对象的方法OscInit ,如: 对象.OscInit(...)不过本人有个疑虑,你这个DacK(1), DacOffset(1)是什么东东?是数组元素还是两个函数?
    如果是函数,那么能看一看吗?如果是数组,申明是什么?
      

  4.   

    哦,这里的DacK(1), DacOffset(1)分别是电压的档位的加权值和位移值.OsiInit的函数说明如下:
    '======================================================================================
    '  OscInit:  初始化 RVO3000 硬件和软件参数
    '  函数入口:ParallelPort    - 并口I/O 地址
    '               DacK                - 各档位DAC加权值
    '               DacOffset           - 各档位DAC位移值
    '  函数返回:
    '  Errors:  Err_none           - 无错误
    '           Err_DeviceNotFound - 没有发现硬件设备
    '
    '  函数说明:     本函数负责初始化硬件、软件。
    '
    '   Version  1.00          08/21/1999
    '======================================================================================
    Declare Function OscInit Lib "RVO3000BUI.DLL" (ByVal Port As Long, DacK As Double, DacOffset As Long) As LongRVO3100是一个数据采集卡,用来从电路板上面采集电压的数值
      

  5.   

    1.一楼说的的确是胡话这一句话老是报错:runtime error
                     object required不用多解释了,很明显,这不是标准C写的Dll,需要引用或注册
      

  6.   

    谢谢大家,已经解决了.
    找出来也很简单:我的error变量忘记定义了,sigh,这种低级错误害我昨天那么晚都没有搞定.
    谢谢大家