Function CRWLInitialize2(baResponse, bMode,bAbort:byte) : Integer 这是vb里定义的函数,我要在delphi里调用。
我要把 ‘&H31’它传递给bMode,bAbort。baResponse是函数返回的一个值。
不知如何传递参数值来调用这个函数。(也就是:CRWLInitialize2(ba,&H31,&H31))

解决方案 »

  1.   

    感觉语法和Delphi也差不了多少啊。
    var
    lib: THandle
    func: function(baResponse, bMode,bAbort:byte):Integer;stdcall调:
    lib := LoadLibrary('**.dll');
    @func := GetProcAddress(lib,'CRWLInitialize2');
    func(参数1,参数2,参数3);
    FreeLibrary('**.dll');我随便说说的。呵呵。你试试看。
      

  2.   

    ·vb中的-函数原型
    Function CRWLInitialize2(ByRef baResponse As Byte, ByVal bMode As Byte,
                               ByVal bAbort As Byte) As Long·参数
    baResponse   返回baResponse(1),(2),(3)表中所给出的状态值bMode        指定初始化的方法
    &H30    执行初始化操作
    &H31    执行初始化后, 在通道内有卡的情况下将其排出
    bAbort       指定异常中断处理
    &H30    异常中断无回复
    &H31    异常中断有回复问题:在delphi中我可以调用这个函数,但是不清楚如何把‘&H30’这个值传给bAbort、bMode。
    谢谢大家!! 
      

  3.   

    byte在delphi中就是一个字节的整形,就是最大255的整数。integer就是4个字节的整数其实没什么区别。
      

  4.   

    var
    lib: THandle
    func: function(baResponse, bMode,bAbort:byte):Integer;stdcall调: var
       s:byte;
    lib := LoadLibrary('**.dll');
    @func := GetProcAddress(lib,'CRWLInitialize2');
    func(s,参数2,参数3);
     ShowMessage(IntToStr(s));
    FreeLibrary('**.dll');
      

  5.   

    不清楚如何把‘&H30’这个值传给bAbort、bMode。也就是func(s,参数2,参数3);里的参数2,参数3
      

  6.   

    VB的DLL不是标准的DLL,他是ACTIVEX的DLL,使用方法与OCX一样,必须先注册了才可以,然后还要创建对象,使用对象方法,销毁对象。
      

  7.   

    如果有源码,还是建议你移植到DELPHI里面
      

  8.   

    不清楚如何把‘&H30’这个值传给bAbort、bMode。也就是func(s,参数2,参数3);里的参数2,参数3
    请大侠指点如何把‘&H30’这个值传给bAbort、bMode就可以了。