cs_Annakin
Messages postés13Date d'inscriptionmardi 24 août 2004StatutMembreDernière intervention10 mai 2006
-
5 mai 2006 à 16:19
cs_Annakin
Messages postés13Date d'inscriptionmardi 24 août 2004StatutMembreDernière intervention10 mai 2006
-
10 mai 2006 à 08:25
Bonjour @ tous.
Dans un programme réalisé sous Visual Basic, je déclare la fonction de ma dll de la sorte :
Private Declare Sub EnregistrerExpedition Lib "RobustInterbase.dll" (paramètres)
Sur mon poste (WIN XP + Visual Basic) lors de l'éxécution du programme je ne rencontre aucun problème. Sur le serveur (WIN NT 4) sur lequel je dois installer mon programme, je reçois un message d'erreur comme quoi la dll n'est pas trouvée.
Et pourtant :
<LI>Je déclare la dll exactement comme un autre dll appellée par le programme
<LI>Je mets ma dll dans le même répertoire que celui ou se trouve l'autre DLL
<LI>Je décide donc de mettre le chemin de la dll en dur dans le code mais il ne la trouve toujours pas; ex : "E:\RobustInterbase.dll" est introuvable alors que cette dernière est bel et bien présente dans le répertoire !</LI>
L'utilisateur est un super admin.
Bref impasse totale.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 5 mai 2006 à 23:05
Combient de fois faudra-t-il le dire ?
majnounmajda, ajouter les dll dans les références c'est valable pour des dll activeX, pas pour les dll classiques.
Pour les dll classiques, c'est bien par les instructions Declare qu'il faut passer.
Annakin, ton problème est bien étrange effectivement.
Sur ton poste XP es-tu sur que ton programme va chercher la dll au bon endroit? tu n'aurais pas une copie dans le répertoire windows ou dans le répertoire system32 par hasard ? Il se pourrait que ta dll ne soit pas reconnue comme une dll et que en fait tu tourne sur une copie qui se trouve ailleurs.
cs_Warning
Messages postés516Date d'inscriptionsamedi 3 février 2001StatutMembreDernière intervention24 octobre 20062 6 mai 2006 à 03:17
Hello, est-ce que par hazard ta dll RobustInterbase.dll n'utiliserais pas elle même une dll qui serait introuvable (non-présence, mauvais dossier). As tu essayé de mettre ta DLL dans le même dossier que le programme ?
cs_Annakin
Messages postés13Date d'inscriptionmardi 24 août 2004StatutMembreDernière intervention10 mai 2006 10 mai 2006 à 08:25
Bonjour @ tous.
J'ai résolu mon problème.
En fait, ma dll créée sous Delphi appelait (indirectement) 2 autres dll distribuées par Borland.
Je l'ai aussi rajoutée dans les références puisqu'il s'agit d'une DLL Active X.
cs_Annakin
Messages postés13Date d'inscriptionmardi 24 août 2004StatutMembreDernière intervention10 mai 2006 6 mai 2006 à 08:58
Salut, je sais que je dois mettre ma DLL dans C:\Windows sur mon poste XP pour que mon programme marche.
Sur le poste NT, j'ai mis la DLL un peu partout mais toujours sans succès (C:\WINNT; C:\WINNT\system32...). De plus, en mettant le chemin en dur lors de la déclaration "E:\RobustInterbase.dll" dans mon code, le message d'erreur était " Le fichier "E:\RobustInterbase.dll" est introuvable " ce qui veut donc dire que le programme reconnait bien le chemin mais pas le fichier.
Par contre, majnounmajda n'a peut être pas tort !
En effet, j'ai créé cette dll grâce à Delphi 2006 et je me souviens qu'il s'agit d'une dll Active X justement (enfin il me semble je n'ai plus le terme exact) car elle comunique avec une base de données....
Je testerais l'ajout de ma DLL dans les références dès Mardi 8h00 et je vous tiens informé.
Vous n’avez pas trouvé la réponse que vous recherchez ?