DLL, VB5 & Erreur 53

[Résolu]
Signaler
Messages postés
116
Date d'inscription
samedi 4 juin 2005
Statut
Membre
Dernière intervention
10 avril 2013
-
Messages postés
116
Date d'inscription
samedi 4 juin 2005
Statut
Membre
Dernière intervention
10 avril 2013
-
Slt, j'ai l'erreur 53 (Fichier introuvable) avec une DLL maison sous VB5.
La DLL fonctionne dans un petit projet, mais dans l'application finale, l'appel de n'importe quelle fonction de la dll se solde par le message 53 !
J'ais mis le chemin complet dans la déclaration et même changer l'adresse de base de la DLL (pensant a un conflit avec les ctl et ocx) mais rien fonctionne...

4 réponses

Messages postés
571
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
12 juillet 2012
3
Salut :)

Il est intéressant de noter que l' erreur ne dit pas que le point d' entrée de la dll est introuvable, mais qu'un fichier est introuvable.

Comme ça marche avec un projet minimal, c'est que la solution est dans le code. Cette erreur peut survenir si par exemple la dll fait appel à une autre dll qui elle, est non trouvée ou qui génère expréssement une erreur 53 si on lui passe un chemin de fichier incorrect. Je regarderais du côté où le code de le code fait des entrées-sorties.
Sinon, repartir de ton projet minimal en ajoutant au fur et à mesure des fonctions, jusqu' à ce que l' erreur se reproduise. Pas facile mais il faut bien isoler ce qui cloche. Sur un grand projet, la chasse aux erreurs c'est le combiné nordique du programmeur.
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 112 internautes nous ont dit merci ce mois-ci

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Salut
Cette erreur, elle apparait quand ?
Quand tu fais référence à la DLL en mode création ou lors de l'exploitation de la DLL en mode Run ?
Si c'est une DLL maison, je te conseille d'étoffer la gestion d'erreur, le n° ne suffit pas.
Il faudrait que ta DLL te dise dans quelle fonction/Sub et éventuellement à quelle ligne elle rencontre cette erreur.
Ensuite seulement, en connaissant la ligne sur laquelle l'erreur apparait, tu sauras comment résoudre le problème.

Honnètement, je te conseille d'intégrer le code de la DLL dans ton application car les mises au point ne sont pas facile à faire. De plus, une fois ton application compilée, si tu changes la version de la DLL, l'application ne la reconnaitra plus. C'est chiant.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on le partage (Socrate)
Messages postés
116
Date d'inscription
samedi 4 juin 2005
Statut
Membre
Dernière intervention
10 avril 2013
1
La DLL plante en run avec n'importe qu'elle fonction, dés qu'elle est appelée.
(en fait ce n'est pas la fonction elle-même qui plante, mais le système qui ne trouve pas le fichier DLL !!!) Avec un projet VB minimal elle ne plante pas !
Inclure le LIB a l'exe est surement la meilleure solution, quand tout est terminé; mais dans la phase de débogage, c'est pas l'ideal s'il faut compiler avant chaque essais...
Messages postés
116
Date d'inscription
samedi 4 juin 2005
Statut
Membre
Dernière intervention
10 avril 2013
1
" la dll fait appel à une autre dll " mais oui !!! bien vu Katsankat, c'est exactement ça !
Après quelques recherches, il sagit des fonctions AVI de vfw32.lib qui semblent être dans msvfw32.dll mais qui se trouvent en realité dans avifil32.dll.
Etrange que ça fonctionnait avec un projet minimal !?!
C'est tout ok, merci a tous !