Уже не первый день пытаюсь воспользоваться хоть одной функцией из SDK ZKTeco, но пока безуспешно. Раньше с таким не сталкивался, поиски на просторах интернета дали слабые результаты (перешел на динамическую загрузку - программа уже начала запускаться!)
Пытаюсь хотя бы подключиться или просто получить указатель на функцию - не выходит.
Так выглядит описание функции в мануале:
Connect_Net
[Definition] VARIANT_BOOL Connect_Net( [in] BSTR IPAdd, [in] long Portl)
[Usage] Connect to the device via the IP address and set up a network connection with the device.
[Parameter]
IPAdd: IP address of the device
Port: Port number used for connecting to the device. The default value is 4370.
[Return Value] Return True if it is successful, or return False.
[Related Function] Disconnect, Connect_Com, Connect_USB
Код небольшой программы следующий
Код:
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ActiveX;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var W1:AnsiString;
B1:TBSTR;
L1:Longint;
dHandle:THandle;
Connect_Net: function (IPAdd:String; Port:Longint): boolean; cdecl; // stdcall не помогал
begin
@Connect_Net:=nil;
dHandle:=LoadLibrary('zkemkeeper.dll');
if dHandle<>0 then
begin
ShowMessage('DLL Load');
@Connect_Net:=GetProcAddress(dHandle, 'Connect_Net');
if @Connect_Net<>nil then
begin
W1:='192.168.1.201';
B1:=Pointer(W1);
L1:=4370;
if Connect_Net(B1,L1) then
ShowMessage('Connect!');
end
else
begin
ShowMessage('Import function Fail!');
Exit;
end;
FreeLibrary(dHandle);
end
else
ShowMessage('Load DLL Fail!');
end;
end.
Вообще есть два архива с документацией и демо-программами с исходниками на C# (откуда я сделал вывод, что zkemkeeper - нужная библиотека): х86 и х64, на моем ноуте система х64 и Delphi 7, и нормально устанавливаются библиотеки х64, но с ними даже библиотека в программе не загружается, х86 ставиться не желают, но программа с библиотекой хоть как-то дружит.
Помогите, пожалуйста, хотя бы начать.
Файлы с SDK и демо-программами+исходники приложить не получилось, поэтому вставлю ссылки
Communication Protocol SDK(32Bit Ver6.2.4.1)
Communication Protocol SDK(64Bit Ver6.2.4.1)