DMM.DLL文件有如下调用方法,哪位高手能在DELPHI中调用这些方法啊?C语言写的东西不是很熟int  Open_Session  ( unsigned char port , VictorSess * defaultRM , VictorSess * vic )参数参数名          参数类型                                参数描述
port             char                           PC机与设备进行联机的串口号
defaultRM      VictorSess(unsigned long)      多个设备的连接通信平台的指针 
vic            VictorSess(unsigned long)      与仪表通信所建立通路的指针
返回值:50/60   PC机与设备联机成功,并且返回当前的工作频率
0       PC机与设备联机不成功int  Close_Session ( VictorSess * defaultRM , VictorSess * vic )参数参数名           参数类型                               参数描述
 
defaultRM        VictorSess                    多个设备的连接通信平台的指针
 
vic              VictorSess                    与设备通信所建立通路的指针返回值:1        PC机与设备成功断开连接
说明这个函数是用来断开PC机和设备之间的联机
 void  Setting_Session  ( unsigned char *Command,unsigned long length,VictorSess *vic )参数名           参数类型                                参数描述
 
Command            char                         PC机给仪表发送的设置命令
length             long                         设置命令的长度
vic                VictorSess(unsigned long)    与设备通信所建立通路的指针
 返回值  无说明此函数用来实现对设备特性的设定。
double  Read_Session  ( unsigned char opt,  VictorSess*  vic )参数参数名                参数类型                        参数描述
opt                  unsigned char                 通信读数项标号
vic                  VictorSess(unsigned long)   与设备通信所建立通路的指针
 
返回值针对于不同的读数项返回值的含义不同,详情见说明
说明       此函数用来获取用户选定项的返回值。

解决方案 »

  1.   

    C的头文件
    #include "visa.h"
    #include "visatype.h"extern "C" __declspec(dllexport) int __stdcall  Open_Session(unsigned char port,VictorSess * defaultRM,VictorSess * vic);
    extern "C" __declspec(dllexport) int __stdcall Close_Session(VictorSess * defaultRM,VictorSess * vic);
    extern "C" __declspec(dllexport)double __stdcall  Read_Session(unsigned char opt, VictorSess* vic);
    extern "C" __declspec(dllexport)void __stdcall  Setting_Session(unsigned char *Command,unsigned long length,VictorSess *vic);#ifndef __DMMTYPE_HEADER__
    #define __DMMTYPE_HEADER__typedef ViInt32             VictorStat;
    typedef VictorStat    _VI_PTR VictorPStat;
    typedef VictorStat    _VI_PTR VictorAStat;
    typedef ViObject            VictorSess;
    typedef VictorSess   _VI_PTR VictorPSess;
    typedef VictorSess   _VI_PTR VictorASess;#endif
      

  2.   

    std的调用规则。其他的没有什么好说的
      

  3.   

    对C不太熟,麻烦说下DELPHI怎么来调用这个函数
      

  4.   

    主要是VictorSess,defaultRM ,vic 这3个参数的值怎么在DELPHI产生。
      

  5.   

    VictorSess 看似是个函数指针,你可以用回调函数
      

  6.   


    这三个参数的类型应当是在C中自定义的,看不到原型,自然不太好在delphi中产生了