|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Импорт функции из DLL (предположительно, написана на С)
Уже не первый день пытаюсь воспользоваться хоть одной функцией из 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. Помогите, пожалуйста, хотя бы начать. Файлы с SDK и демо-программами+исходники приложить не получилось, поэтому вставлю ссылки Communication Protocol SDK(32Bit Ver6.2.4.1) Communication Protocol SDK(64Bit Ver6.2.4.1) |