有 C 语言写的 DLL 如下:short WINAPI u_SetDeviceMode(COMDATA &, DEVICEMODE &)  设定设备工作模式
short WINAPI u_OpenCom(short, short)   打开指定串口请教 short WINAPI u_OpenCom(short, short) 
中的 short 在 DELPHI 中怎么表示啊?还有 short WINAPI u_SetDeviceMode(COMDATA &, DEVICEMODE &)  中的
(COMDATA &, DEVICEMODE &)   是什么意思啊?function WINAPIu_OpenCom(a:integer;b:integer):integer;stdcall;
我这样表示肯定是错误的请个为大哥给我写个列子:
short WINAPI u_SetDeviceMode(COMDATA &, DEVICEMODE &)  设定设备工作模式
short WINAPI u_OpenCom(short, short)   打开指定串口在 DELPHI  中的写法,好吗?谢谢各位大哥!

解决方案 »

  1.   

    C short   
    D shortint
      

  2.   

    错了
    C short   
    D Smallint
      

  3.   

    谢谢  Bitter_fish(苦鱼) 大哥!
    short WINAPI u_SetDeviceMode(COMDATA &, DEVICEMODE &)
    输入参数:
    COMDATA结构 :
    ComPort 通信串口号 1 - 255
    Address 设备地址 0 - 255
    ReData 函数输出值 (100 Bytes)
    DEVICEMODE结构 :
    DeviceType 设备类型 (1 Byte ’0’ - 读写器 ‘1’ - 发卡器 ‘2’ - 充值机 ‘3’ - 读卡器)
    OutPutMode 输出模式 (1 Byte ’0’ - 韦根输出          ‘1’ - RS232/RS422输出)
    函数返回值:
    000: 通信成功。
    242: 命令执行出错,返回错误代码。
    160: 硬件返回系统错误。
    其它: 通信失败,具体返回值含义请参阅返回值代码表
    函数描述:
    设定设备工作模式。
    输出值格式(函数执行成功):
    “1B”
    unit Unit2;
    interface uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;type
     COMDATA=record
     ComPort:integer;
     Address:integer;
     ReData:integer;
     end; type
     DEVICEMODE=record
     DeviceType:byte;
     OutPutMode:byte;
     end;function u_SetDeviceMode(const date:COMDATA;const mode:DEVICEMODE):word;stdcall;implementationfunction u_SetDeviceMode(const date:COMDATA;const mode:DEVICEMODE):word;external 'GSHW.dll';end.//现在我要调用 u_SetDeviceMode ,但是我不知道怎么输入参数啊?procedure TForm1.Button1Click(Sender: TObject);begin         u_SetDeviceMode ( ,);//这里面的参数输入什么东西呢?请举个列子好吗?
    end;谢谢!
      

  4.   

    还是没人答啊!?D版真惨啊!叫声大哥就帮你试试吧!
    unit Unit2;
    interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;type
      PCOMDATA = ^COMDATA;   //我加的
      COMDATA = record
        ComPort: integer;
        Address: integer;
        ReData: integer;
      end;type
      PDEVICEMODE = ^DEVICEMODE;
      DEVICEMODE = record
        DeviceType: byte;
        OutPutMode: byte;
      end;function u_SetDeviceMode( const date: PCOMDATA; const mode: PDEVICEMODE ): word; stdcall;  //注意我加了P,看到了吗?implementationfunction u_SetDeviceMode( const date: PCOMDATA; const mode: PDEVICEMODE ): word; external 'GSHW.dll';
    procedure TForm1.Button1Click( Sender: TObject );
    var
      L_COMDATA: COMDATA;
      L_DEVICEMODE: DEVICEMODE;
    begin
      L_COMDATA.ComPort := XXX;
      ....... //设置
      L_DEVICEMODE.OutPutMode := XX;
      u_SetDeviceMode( @L_COMDATA,@L_DEVICEMODE ); //这里面的参数输入什么东西呢?请举个列子好吗?end;end.