|
Utilisation d'une dll |
|
---|---|---|
Developpeur WDF
Inscrit:
10/02/2005 14:25 De Lille
Post(s): 123
|
Bonjour,
J'ai une dll avec le fichier .h qui doit générer des images tiff selon la variable TC Dans le fichier .h j'ai la fonction comme suit : DWORD _stdcall Fonction(DWORD TT, LPCSTR TC="000000", LPCSTR TD="\0", LPCSTR PT="\0", DWORD PR=600, DWORD IR=INK_RUN_OK,FLOAT TS=2.4, LPBYTE DTMT=NULL); et voila mon code : TT est entier TC est chaîne ASCIIZ sur 15 TD est chaîne ASCIIZ sur 256 PT est chaîne ASCIIZ sur 256 PR est entier IR est entier TS est réel sur 4 octets DTMT est chaîne ASCIIZ sur 145 Controle est entier Controle = 1 DTMT= Caract(Val("FF","x")) +...+ Caract(Val("FF","x")) +Caract(0) //Longue chaine Hexadecimal TT= 5 TC= "A12345678M1234" +Caract(0) TD= Caract(0) PT= Caract(0) PR= 300 IR= 0 TS= 2.4 hInst est un entier hInst = ChargeDLL ("TG.DLL") SI hInst = 0 ALORS Erreur("Erreur lors du chargement") SINON Controle = AppelDLL32("TG", "_TG@3", TT,&TC, &TD,&PT,PR,IR,TS,&DTMT) Info(Controle) DéchargeDLL(hInst) FIN Le controle me retourne bien 0 mais aucune image tiff n'est généré hors d'apres la doc tout est correct si le code retourné est 0 Je tiens par ailleurs a dire que seul le code TT=5 me demande la derniere variable DTMT comme une allocation d'un tableau de 144 bytes Avec les autres codes j'arrive a générer les images tiff car il ne demande pas la derniere variable qui sert a coder l'image Merci
Contribution le : 17/11/2006 18:26
|
|
_________________
Windev POOOOWWWWAAA!!!!!! |
||
|
Re: Utilisation d'une dll |
|
---|---|---|
Developpeur WDF
Inscrit:
10/02/2005 14:25 De Lille
Post(s): 123
|
Merci Imame de t'etre préoccupé de mon probleme.
J'ai trouvé pourquoi ca ne fonctionnait pas.... Apparemment, j'utilisais une dll mise a jour par le fournisseur J'ai récupéré la premiere version de la dll et ca fonctionne. Ils ont du modifier le passage de parametres mais pas mis a jour le fichier .h...C'est la seule réponse que je puis supposé pour le moment...J'attend un retour du service technique En fait, si j'utilise le convertisseur de fonction de WDAPI, il me dit que le type LPBYTE est un entier J'ai essayé d'exploiter la dll avec VB et appres plusieurs recherche j'ai trouvé sur le site de Microsoft que le type LPBYTE devait etre passer ByVal Var as String via VB et la ca a fonctionné mais j'ai des caractères bizarre au niveau du nom du fichier. Je pense a un probleme de typage de la chaine (ANSI-ASCII-UNICODE ???) du fait si je boucle pour generer plusieurs images il me renvoit aléatoirement des erreurs sur le prefixe du fichier. Mais bon avec Windev le probleme est résolu TT est entier long sans signe TC est une chaîne TD est une chaîne PT est une chaîne PR est entier long sans signe IR est entier long sans signe TS est réel sur 4 octets DTMT est une chaîne DTMT= Caract(0xFF)+ Caract(0x01)+Caract(0x06)+Caract(0xB4)+Caract(0xED)+...+Caract(0xFF) TT= 5 TD="c:\" PT="" PR= 600 IR= 0 TS= 2.4 SI hInst = 0 ALORS Erreur("Erreur lors du chargement") SINON TC= "M12345678A1234" Controle= AppelDLL32("TagGener", "_TagGener@32", TT,TC,TD,PT,PR,IR,TS,DTMT) FIN DéchargeDLL(hInst) Info(Controle) FIN Encore merci
Contribution le : 22/11/2006 16:57
|
|
_________________
Windev POOOOWWWWAAA!!!!!! |
||
|
Re: Utilisation d'une dll |
|
---|---|---|
Inscrit:
19/11/2002 12:20 Post(s): 390
|
Cool si ça marche ;)
Contribution le : 23/11/2006 00:52
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.