sdk开发包编程 高手帮忙解决一下啊 急啊
sdk函数说明如下
HI_SDK_Login
用户设备注册,返回句柄供用户对设备的操作
HI_HANDLE HI_SDK_Login(
constHI_CHAR* psHost,
constHI_CHAR* psUsername,
constHI_CHAR* psPassword,
HI_U16 u16Port,
HI_S32* ps32Err
);
Parameters
psHost
[IN] 主机,可以是IP地址也可以是域名
psUsername
[IN] 用户名
psPassword
[IN] 密码
u16Port
[IN] 端口号
ps32Err
[OUT] 输出错误信息
ReturnValues
成功将返回HI_HANDLE句柄,失败返回0
sdk数据类型定义
typedefchar HI_CHAR;
typedefchar* HI_PCHAR
typedefunsignedshort HI_U16;
typedefint HI_S32;
代码
unit Unit1;
interface
uses
? Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
? Dialogs, StdCtrls, ExtCtrls;
type
? TForm1 = class(TForm)
? Button1: TButton;
? Image1: TImage;
? GroupBox1: TGroupBox;
? Edit1: TEdit;
? Label1: TLabel;
? Edit2: TEdit;
? procedure Button1Click(Sender: TObject);
? private
? { Private declarations }
? public
? { Public declarations }
? end;
function HI_SDK_Init(): Integer; stdcall; external'HISDK.dll';
function HI_SDK_Login(var psHost:pchar;psUsername:pchar;psPassword:pchar;u16port:integer;ps32err:pinteger):?
THandle; stdcall; external'HISDK.dll';
? var
? Form1: TForm1;
? lHandle:THandle;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
result:integer;
psHost:pchar;
psUsername:pchar;
psPassword:pchar;
ps32err:integer;
host:string;
username:string;
password:string;
aaa:thandle;
begin
? HI_SDK_Init();
? result:=HI_SDK_Init();
? showmessage(inttostr(result));
? Host:='169.254.28.46'+chr(0);
? Username:='admin'+chr(0);
? Password:='admin'+chr(0);
? psHost:=@Host[1];
? psUsername:=@Username[1];
? PsPassword:=@Password[1];
? aaa:=HI_SDK_Login(psHost,psUsername,psPassword,81,@ps32err);
? showmessage(inttostr(aaa));
?end;
end.
为什么一直aaa的值是0呢 也就是登录失败 ?
执行完 aaa:=HI_SDK_Login(psHost,psUsername,psPassword,81,@ps32err);后psUsername,psPassword的值就看不到了
急啊 留个邮箱也行 我发过去帮我看看这个sdk怎么用 谢谢 谢谢 谢谢 谢谢 谢谢 谢谢 谢谢 谢谢 谢谢
[解决办法]
- Delphi(Pascal) code
function HI_SDK_Init(): Integer; stdcall; external'HISDK.dll';function HI_SDK_Login(sHost:pchar; sUser:pchar;sPassword:pchar;u16port:Word; var ps32err:Integer): //HI_SDK_Init(); result:=HI_SDK_Init(); //不要初始化2次 aaa := HI_SDK_Login(pchar(''169.254.28.46'),pchar('admin'),pchar('admin'), 81,@ps32err); showmessage(inttostr(aaa));