许久没搞DELPHI了,有个小程序,厂家给了C#的声明,翻译过来忘记了,有些类型,万能的群友帮下忙
[DllImport("RdCard.dll")]
extern static int UCommand1(System.Byte[] pCmd, ref int parg0, ref int parg1, ref int parg2);这样声明function UCommand(pCmd: PByte; var Parg0: Integer; var Parg1: Integer; var Parg2: Integer): Integer; stdcall; external 'RdCard.dll';
TByte = array[0..0] of Byte; 这样声明pbyte不对吗?
[DllImport("RdCard.dll")]
extern static int UCommand1(System.Byte[] pCmd, ref int parg0, ref int parg1, ref int parg2);这样声明function UCommand(pCmd: PByte; var Parg0: Integer; var Parg1: Integer; var Parg2: Integer): Integer; stdcall; external 'RdCard.dll';
TByte = array[0..0] of Byte; 这样声明pbyte不对吗?
解决方案 »
- 哪位大哥能用Idtcpserver and idtcpclient 写个端口转发=端口映射=数据转发
- IDTCPClient.Connect 提示Read TimeOut 问题,请高人指点!
- 找不到收发邮件的控件
- 如何从网上下载一个文件?
- 求助fastreport怎样做不定列数的报表
- 在DBGrid中的下拉列表,如何实现EXCEL中的下拉表中的过滤功能...急
- 如何对form1.canvas 上画的图像进行清空?
- 动态调用dll问题
- 请高手将这段cpp代码转换成delphi的代码(很短的一段代码)
- 请教各位高高手,怎样使TStringGrid滚到我需要的col和row
- 问一个简单的控件问题
- Delphi 如何实现opc数据实时采集
var
cmd: array of Byte;
para0, para1, para2: Integer;
ret: Integer;
begin
SetLength(cmd, 1);
cmd[0] := $41;
para0 := 0;
para1 := 8811;
para2 := 9986; ret := UCommand(@cmd, para0, para1, para2); if (ret = 62171)or(ret = -5)or(ret = -7) then
begin
Msg := 'success';
Result := True;
//Timer1.Enabled := True;
end else
begin
Msg := 'false';
Result := False;
end;
end;这样调用不对吗
另外,Pascal支持合并同类声明:
function UCommand(pCmd: PByte; var Parg0, Parg1, Parg2: Integer): Integer; stdcall; external 'RdCard.dll';