vfp调用delphi的dll(深圳亿合创二次开发)?
1.设置端口信息
SetConnectInfo(IConnectType:Integer;InPort:Integer;ITcpAddress:string;InBaud:Word):Boolean; stdcall;far external 'ICXF.DLL' name '_SetConnectInfo@16';
功能:用于设置机器的通讯方式(串口还是tcp/ip通讯),只要是两种方式都可以通讯的涵数调用之前,都必须先调用此涵数来区分通讯方式
返回值:布尔型,调用成功返回真(TRUE),否则返回假(FALSE)
参数:
IConnectType:机器通方式,数据类型:整数型,取值0或1(0为串口通讯,1为tcp/ip通讯)
InPort:串口号,数据类型:整数型,取值从1开始,IConnectType为1即通讯方式是TCP/IP时,该参数不起作用,带入0就可以了
ITcpAddress: IP地址(例如192.168.001.005,注意:不能简化写成:192.168.1.5),数据类型:字符串;
InBaud:串口通讯时为机器通讯的波特率,波特率为9600,TCP/IP通讯时为端口号,端口号为9760+机器号
例如机号为1时,端口号是9761,机号为2时,端口号是9762,以此类推
调用实例:
232/485通讯,串口号为1,机号为1 SetConnectInfo(0,1,'',9600)
TCP/IP通讯,IP为192.168.001.022,机号为1, SetConnectInfo(1,0,'192.168.001,022',9760+1)
2.设置机号
function SetMacNO(MacNO, NewMac: Byte): integer; stdcall; far; external MDllName Name '_SetMacNO@8';
功能:修改机器的编号
返回值:整数型,1代表调用成功,否则代表调用失败
参数:
MacNO:指需要修改机器编号的那台设备的机器编号,字节型,取值1-255之间
NewMac: 指需要设置的新机器编号,字节型,取值1-255之间
===================================================================================以上是调用文档说明
=========================下面是vfp调用=======================
DECLARE SetConnectInfo IN "ICXF.DLL" AS _SetConnectInfo@16 Integer IConnectType,Integer InPort ,String ITcpAddress,INTEGER InBaud
MESSAGEBOX(SetConnectInfo(1,0,"200.200.200.240",9761)) &&这里返回的是 1 ,并不是逻辑型
DECLARE SetMacNO IN "ICXF.DLL" AS _SetMacNO@8 String MacNO,String NewMac
MESSAGEBOX(SetMacNO("001","002")) &&这里返回的是4,按文档说明,就是调用失败