mimosa803
Messages postés345Date d'inscriptionjeudi 15 février 2007StatutMembreDernière intervention24 avril 2010
-
6 juin 2007 à 17:07
bafcomp
Messages postés16Date d'inscriptionlundi 8 décembre 2003StatutMembreDernière intervention 4 août 2009
-
8 oct. 2008 à 01:12
salut tous le monde j'ai cherché la dll zkempkeeper d'une pointeuse mais je l'ai pas trouvé donc je cherche chez vous si vous avez cette dll
Merci d'avance
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 6 juin 2007 à 17:40
Bonjour,
1) Cette Dll est totalement introuvable sur le Web.
2) tu dis par contre l'avoir reçue avec ta pointeuse et la doc.
Conclusion : il s'agit là apparemment d'une dll d'acompagnement d'un matériel bien peu vendu !
Je ne pense pas que tu aies alors d'autres recours que celui de t'adresser au support technique correspondant : celui normalement assuré par le distributeur du matériel en cause !...
A défaut de tout posséder, tu risques d'en avoir pour des années de tâtonnements divers , c'est certain ...
Une fois de plus, l'utilisation de fonctions d'une Dll demande une parfaite connaissance des paramètres qu'elle attend, des valeurs qu'elles retourne et de la manière dont ces valeurs doivent être exploitées. Cela ne peut ni se deviner ni s'inventer ...
mimosa803
Messages postés345Date d'inscriptionjeudi 15 février 2007StatutMembreDernière intervention24 avril 2010 6 juin 2007 à 17:50
je sai j'ai appliqué ca mais voila une erreur produite :
Je ve utiliser les méthodes mais un message d'erreur s'affiche 'Point d'entrée GetDeviceInfo d'une Dll introuvable dans zkempkeeper.dll'
voici le code
Public Declare Function GetDeviceInfo Lib "zkemkeeper.dll" (DwMachineNumber As Long, DwInfo As Long, ByRef DwValue As Long) As Boolean
puis d'une fenetre je lance cette fonction a travers un bouton
Private Sub Command2_Click()
Dim str As Boolean
str = GetDeviceInfo(1, 1, 1)
End Sub
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 6 juin 2007 à 19:24
Bon alors il est temps de preciser certaines choses à propos des dlls.
Sans trop rentrer dans les détails, il existe plusieurs methodes pour exporter les fonctions dans une DLL. CDecl ou stdcall pour les plus connues.
Pour qu'une Dll soit utilisable avec n'importe quel langage (ex : les API Windows) il faut impérativement que les fonctions soient exportées par la méthode stdcall (appel Standard).
Par ex, des fonctions exporter par CDecl ne seront utilisables que dans un programme en C et encore uniquement en intégrant le .lib obtenu à la compilation de la dll, comme librairie dans le programme C.
Si tu obtient ce message, il est fort possible que cette fonction ne soit pas accessible de l'extérieur, elle n'est pas en stdcall. Elle ne sera donc pas utilisable.
Malheureusement, la seule façon de modifier çela dans la dll, c'est de modifier en recompiler les sources de celle-ci. Sources que tu n'auras jamais, propriété de l'éditeur.
Mais après consultation de quelques pages sur internet, il semblerait que cette Dll soit une dll activeX (qui plus est, développée en VB6). Il faut l'enregistrée dans la base avec regsrv32.
Ensuite, il doit falloir intancier une variable objet dans le code, du type de classe fourni par la dll. Les fonctions indiquées étant certainement des methodes de cette classe.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 6 juin 2007 à 20:40
"Enregistrer dans la base" signifie que la dll, pour fonctionnée correctement, elle doit enregistrer au préalable un certain nombre d'information dans la base de registre de Windows (bdr) . Pour cela on utilise un utilitaire fournis avec Windows, capable d'extraire ces informations de la dll et de les écrire dans la bdr.
Tu ouvre le menu Démarrer de Windows, tu choisie "Executer". Dans la zone de saisie, tu tappe regsvr32 suivie du chemin complet d'installation et du nom de la dll. Tu valide et tu dois avoir un message qui te dit que l'enregistrement est correct.
Ex : "regsvr32 c:\chemin_de_la_dll\zkempkeeper.dll"
Si tu ouvre ton projet VB, certainement que soit dans les composants (Menu Projet/Composants), soit dans les références (Menu Projet/Référence), une entrée supplémentaire en rapport avec la dll devrait apparaitre, plus certainement je pense dans les références.
Il te faudra cocher cette référence pour pouvoir l'utiliser dans le code.
Mais si tu as la doc avec les fonctions sous forme de fichier, tu peux essayer de me la faire parvenir sur le mail que je t'ai donner l'autre jour, je vais y jeter un oeil.
mimosa803
Messages postés345Date d'inscriptionjeudi 15 février 2007StatutMembreDernière intervention24 avril 2010 6 juin 2007 à 22:06
j'ai oublié ton e_mail : le mien mino_musica@hotmail.com
j'ai pu ajouter la dll aux références sous VB sans exécuter la commande que tu a écrit ,il suffit de parcourir la dll et après elle sera ajouté comme référence
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 7 juin 2007 à 00:06
casy nous disit:
"Par ex, des fonctions exporter par CDecl ne seront utilisables que dans un programme en C et encore uniquement en intégrant le .lib obtenu à la compilation de la dll, comme librairie dans le programme C."
RECTIF:
Nenni, le C n'a aucune limitation et on n'est pas obligé au linkage statique quel que soit le mode d'appel des fonctions DLL (cdecl, stdcall, fastcall ou syscall).