fignerprint devices [message #690142] |
Tue, 29 October 2024 08:21  |
shahzad-ul-hasan
Messages: 643 Registered: August 2002
|
Senior Member |
|
|
dear i want to configure the ZKTeco device with oracle 10g forms. i have database 12c. i want to attach mb40plus device. i have register the regsvr32 zkemkeeper.dll. file. the table i have is:
create table inout (
sno number(16) primary key, ---datewise log
id number(16) primary key, ---attendance log
conenct varchar2(1), ---device is connected [Y/N]
ip_add varchar2(18), ---Read Device address static 192.168.100.201
ser_no Varchar2(17), ---read Serial No of Device.
intime datetime,
otime datetime,
dated date,
port number(6),
type varchar2(4)); ----Face,FP
Quote:
dll files are:
zkemsdk.dll
zkfinger10.dll
zkemkeeper.dll
ZKEMCrypto.dll
zkfpslibLow.dll
usbcomm.dll
tcpcomm.dll
comms.dll
IOTCAPIs.dll
pltcpcomm.dll
rscomm.dll
libareacode.dll
how i can see the device is connected to oracle table and form10g with ipaddress(192.168.100.201) and default port 4370 and serialno. how i can control device (hardware) with dll files.i want to show message show the device is connected to database when the form run (when_new_form_instance)..please advised.
|
|
|
|
Re: fignerprint devices [message #690335 is a reply to message #690284] |
Fri, 04 April 2025 04:36  |
 |
F.Eicken
Messages: 2 Registered: April 2025
|
Junior Member |
|
|
Hello together,
first you have to integrate webutil in your Form.
Then you can use then webutil.c_api
Down is as short Example how to handle such Communikation.
function version return boolean is
rc varchar2(200);
f_handle WEBUTIL_C_API.FUNCTIONHANDLE;
args Webutil_c_api.parameterlist;
p_sName Webutil_c_api.ParameterHandle;
p_nErrNr Webutil_c_api.ParameterHandle;
p_nSystemNr Webutil_c_api.ParameterHandle;
v_errnr number;
v_systemnr number;
begin
-- Register Function
f_handle := WEBUTIL_C_API.register_function(<Name of your dll>, '<Name of Then Function inside of the dll>');
-- Define Arguments ( IN/OUT, Type, length ...
args := WEBUTIL_C_API.create_parameter_list;
p_sName := WEBUTIL_C_API.add_parameter(args,
WEBUTIL_C_API.C_CHAR_PTR,
WEBUTIL_C_API.PARAM_IN,
<User maybe>,
lengt(<User>));
p_nErrNr := WEBUTIL_C_API.add_parameter(args,
WEBUTIL_C_API.C_LONG_PTR,
WEBUTIL_C_API.PARAM_OUT);
p_nSystemNr := WEBUTIL_C_API.add_parameter(args,
WEBUTIL_C_API.C_LONG_PTR,
WEBUTIL_C_API.PARAM_OUT);
-- Call then Function depending of then return Type
rc := WEBUTIL_C_API.Invoke_string(f_handle, args);
-- Get the out Parameter Values
v_errnr := WEBUTIL_C_API.Get_Parameter_Number(args, p_nErrNr);
v_Systemnr := WEBUTIL_C_API.Get_Parameter_Number(args, p_nSystemNr);
if v_errnr != '0'
then
-- Clean up everything
WEBUTIL_C_API.Destroy_Parameter_List(args);
WEBUTIL_C_API.Deregister_Function(f_handle);
return FALSE;
End if;
-- Clean up everything
WEBUTIL_C_API.Destroy_Parameter_List(args);
WEBUTIL_C_API.Deregister_Function(f_handle);
if v_errnr = 0
then
<v_return of whatever, in this case it was the Version of a Device> := rc;
End if;
return TRUE;
End version;
|
|
|