|
Utilisation de DLL ZkemKeeper.dll - Lecteur d'empreinte F4 Vista |
Iniciado por ATCHINARD Ada, 07,jun. 2012 18:24 - 4 respuestas |
| |
| | | |
|
| |
Publicado el 07,junio 2012 - 18:24 |
Bonjour,
Je suis sur un projet de contrôle de présence par empreinte digitale. Le SDK fourni par le fournisseur est très bien adapté pour VB et C#. Mais, je dois l'intégrer à un projet existant en Windev 10.
Le chargement et déchargement du DLL se font très bien. Je me suis également bien connecté au lecteur. Mais quand il s'agit d'ajouter un employé, j'obtiens des erreurs qui me laisse perplexe par rapport à la capacité de Windev 10.
Voici mon code :
hInst = ChargeDLL("ZKEMSDK.DLL") SI hInst <> 0 ALORS nDeviceNumber est une entier = AppelDLL32("ZKEMSDK.DLL","Z_Connect_NET","192.168.1.201",4370,"","","") SI nDeviceNumber ALORS Info("Connexion réussie") nDeviceNumber = 1 FIN sdkVersion est une chaîne = "" fId, fPriv est un entier fName, fPass est une chaîne ok est un booléen fId = 4 ; fPriv = 3; fName = "Fab"; fPass = 1234 ok = AppelDLL32("ZKEMSDK.DLL","Z_SetUserInfo", nDeviceNumber, fId, fName, fPass, fPriv, 1, 0, "", "", "") SI ok ALORS Info("Utilisateur enregistré avec succès.") FIN DéchargeDLL(hInst) FIN
Voici l'erreur : Vous avez appelé la fonction AppelDLL32. Une erreur système inattendue est survenue. Si cet incident se produit de manière systématique lorsque vous exécutez les mêmes manipulations, il est conseillé de transmettre au Support Technique Gratuit : - une description des circonstances de l'incident - les lignes de code, une fenêtre ou un projet permettant de reproduire le problème - les informations techniques suivantes
Détails techniques :
Module : ZKEMSDK.DLL Adresse de base : 02250000 Erreur système : Access violation (GPF) EIP = 0225C8E0 OS : Windows XP ou .NET Service Pack 1(6.1.7601)
Informations techniques
Dump de l'erreur du module <WD100VM.DLL> <10.00Mo>.
- Appel WL : Fonction <AppelDLL32>, n° de syntaxe <0>
- Niveau : erreur fatale (EL_FATAL)
- Code erreur : 1020
- Code erreur WD55 : 0
- Pas de code d'erreur système
- Pas de message d'erreur système
- Que s'est-il passé ? Une erreur système inattendue est survenue. Si cet incident se produit de manière systématique lorsque vous exécutez les mêmes manipulations, il est conseillé de transmettre au Support Technique Gratuit : - une description des circonstances de l'incident - les lignes de code, une fenêtre ou un projet permettant de reproduire le problème - les informations techniques suivantes
Détails techniques :
Module : ZKEMSDK.DLL Adresse de base : 02250000 Erreur système : Access violation (GPF) EIP = 0225C8E0 OS : Windows XP ou .NET Service Pack 1(6.1.7601)
- Infos de debug : Registres :
EIP = 0225C8E0 EBP = 00000001 EAX = 00000085 EBX = 02181A40 ECX = 0227C06C EDX = 00000000 ESI = 00000004 EDI = 00000001
Pile des appels :
[ZKEMSDK.DLL (02250000)] 0225C840 : Z_SetUserInfo() + 160 bytes Pile invalide
Fonction (0,18)
- Infos attachées : EIT_DATEHEURE : 07/06/2012 13:01:54 EIT_PILEWL :
- Identifiant dans le .err : 1020
Puis-je avoir une aide ? |
| |
| |
| | | |
|
| | |
| |
Publicado el 08,junio 2012 - 19:07 |
J'ai résolu le problème.
D'après les recherches, soit on utilise le DLL comme un objet Automation, soit importer l'assemblage dans le projet (Atelier/.Net/Utiliser un assemblage et sélectionner le fichier DLL si Windev le permet). L'assemblage n'a pas marché pour mon DLL, car non valide pour Windev.
J'ai donc utiliser le DLL comme un objet Automation.
Voici le code de connexion au lecteur d'empreinte :
// déclarations globales iAdresseIp est une chaîne iPort est un numérique iNumeroMachine est un entier wellDone est un booléen = Faux zKemKeeper est un objet Automation "zkemkeeper.ZKEM"
// procédures de connexion au lecteur PROCEDURE connect_device() // sai_f4_ip, sai_f4_port sont de champs de saisie pour récupérer l'adresse IP et le port du lecteur iNumeroMachine = zKemKeeper>>Connect_Net(SansEspace(sai_f4_ip), SansEspace(sai_f4_port)) SI iNumeroMachine = 1 ALORS RENVOYER Vrai FIN Info("Matériel non connecté.") RENVOYER Faux
Après la première compilation, Windev permet d'avoir la liste des fonctions disponibles dans le DLL. Les paramètres et leur type peuvent être connus par l'outil OLE/Com Viewer.
Merci. |
| |
| |
| | | |
|
| | |
| |
Publicado el 23,julio 2012 - 11:01 |
Bonjour J'ai utilisé ta méthode, je n'ai plus d'erreur par contre le connection ne se fait pas
INumeroMachine = ZKemKeeper>>Connect_Net(SansEspace("192.168.2.105"), SansEspace("4370")) SI INumeroMachine = 1 ALORS RENVOYER Vrai FIN Info("Matériel non connecté.") RENVOYER Faux
ça retroune toujours ("Matériel non connecté.")
As tu une idée ? |
| |
| |
| | | |
|
| | |
| |
Publicado el 28,julio 2012 - 19:00 |
Bonjour cher Ahmed,
Veuillez procéder comme suit : - Vérifier si la commande "ping -t 192.168.2.105" marche avec succès. Si ok, le matériel est connecté au réseau et a bien l'adresse IP 192.168.2.105 - Sinon, veuillez lui attribuer cette adresse sur l'interface de configuration. Après attribution, il est nécessaire de redémarrer le matériel pour que la nouvelle configuration soit prise en compte. - Si vous n'arrivez toujours pas à modifier l'adresse IP, je pourrai vous envoyer le manuel d'utilisation de ce matériel, qui est disponible sur le site du fabricant.
Merci. |
| |
| |
| | | |
|
| | |
| |
Publicado el 14,julio 2019 - 21:57 |
Bonjour à vous tous,
je veux juste savoir est ce que c'est possible d'utiliser ce sdk avec l'appareil AC300? |
| |
| |
| | | |
|
| | | | |
| | |
|