|
Probleme de chargement des API d'une fichier .dll |
Débuté par Saif HMISSA, 22 mar. 2017 15:51 - 8 réponses |
| |
| | | |
|
| |
Membre enregistré 5 messages |
|
Posté le 22 mars 2017 - 15:51 |
Salut à tous, J'utilise Windev20, j'ai une fichier mi.dll qui contient des API pour un lecteur RFID, mais j'ai un probleme au niveau du appel des fonctions, lors l'execution il m'affiche un message d'erreur qui montre qu'il n'as pas trouver le nom du fonction malgré qu'elle existe. par exemple la fonction API_OpenComm("COM2",9600) veuillez trouver ci-dessous un lien pour la fichier mi.dll: https://mega.nz/#!8lgHlDjT!UjtnZKvxc...m5id2KiqOxRw3M
SVP c'est urgent |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 946 messages Popularité : +102 (110 votes) |
|
Posté le 22 mars 2017 - 17:42 |
Bonjour Votre lien de téléchargement ne fonctionne pas Utilisez "Dependency Walker" sur http://www.dependencywalker.com/, pour vérifier que votre fonction existe bien. |
| |
| |
| | | |
|
| | |
| |
Posté le 22 mars 2017 - 19:30 |
Et montre nous le code que tu utilises
Le 3/22/2017 à 11:42 AM, Philippe Pasquali a écrit :
Bonjour Votre lien de téléchargement ne fonctionne pas Utilisez "Dependency Walker" sur http://www.dependencywalker.com/, pour vérifier que votre fonction existe bien. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 5 messages |
|
Posté le 23 mars 2017 - 16:19 |
J'ai utilisé Dependency Walker et la fonction existe
voila le nouveau lien: https://mega.nz/#!8lgHlDjT!UjtnZKvxcePR7PWkFZB6oBO7px-Vqm5id2KiqOxRw3M |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 5 messages |
|
Posté le 23 mars 2017 - 16:23 |
mon code:
hInst est un entier hInst = ChargeDLL("mi.dll") AppelDLL32("mi.dll", "API_OpenComm", "COM2", 9600)
et j'ai utilisé aussi:
AppelDLL32("mi.dll", "API_OpenComm", "COM2", 9600)
et aussi:
API("mi.dll", "API_OpenComm", "COM2", 9600)Message modifié, 23 mars 2017 - 16:23 |
| |
| |
| | | |
|
| | |
| |
Posté le 23 mars 2017 - 18:52 |
Le 23/03/2017, Saif HMISSA a supposé :
mon code:
hInst est un entier hInst = ChargeDLL("mi.dll") AppelDLL32("mi.dll", "API_OpenComm", "COM2", 9600)
et j'ai utilisé aussi:
AppelDLL32("mi.dll", "API_OpenComm", "COM2", 9600)
et aussi:
API("mi.dll", "API_OpenComm", "COM2", 9600)
si vous aviez regardé le prototype de la fonction :
Name : API_OpenComm Delcaration : HANDLE API_OpenComm(int nCom, int nBaudrate)
vous auriez vu que le 1er param est un entier !!!!!
AppelDLL32("mi.dll", "API_OpenComm", 2, 9600)
-- Cordialement JeAn-PhI |
| |
| |
| | | |
|
| | |
| |
Posté le 23 mars 2017 - 19:11 |
et la doc de la fonction en question est ?
Le 3/23/2017 à 10:23 AM, Saif HMISSA a écrit :
mon code:
hInst est un entier hInst = ChargeDLL("mi.dll") AppelDLL32("mi.dll", "API_OpenComm", "COM2", 9600)
et j'ai utilisé aussi:
AppelDLL32("mi.dll", "API_OpenComm", "COM2", 9600)
et aussi:
API("mi.dll", "API_OpenComm", "COM2", 9600) |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 946 messages Popularité : +102 (110 votes) |
|
Posté le 23 mars 2017 - 19:35 |
Bonsoir vous ne le testez pas le retour de ChargeDll... Que vaut «hinst» ? en général je fais ainsi
hDLL est un entier système PathOfDll, DllName est une chaîne
PathOfDll = ComplèteRep(fRepEnCours()) DllName = PathOfDll + "mi.dll"
IF NOT fFichierExiste(DllName) THEN Erreur("fichier mi.dll non trouvée dans le répertoire : " + PathOfDll) RETOUR END
hDLL = ChargeDLL(DllName) IF hDLL = 0 THEN Erreur(ErreurInfo()) RETOUR END
STOP API(DllName, "API_OpenComm", "COM2", 9600)
DéchargeDLL(hDLL) |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 5 messages |
|
Posté le 27 mars 2017 - 15:58 |
Merci Philippe, tout est nickel maintenant. Message modifié, 27 mars 2017 - 15:59 |
| |
| |
| | | |
|
| | | | |
| | |
|