有 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 中的写法,好吗?谢谢各位大哥!
D shortint
C short
D Smallint
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;谢谢!
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.