gaga38
Messages postés46Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention27 août 2009
-
7 mai 2009 à 11:35
gaga38
Messages postés46Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention27 août 2009
-
12 mai 2009 à 16:52
Salut à tous,
Voilà je suis débutante en VB6 et je me heurte à un problème dont je n'arrive pas à trouver la solution sur le net
Voilà, je suis en train de créer un nouveau module dans un programme déjà éxistant, ce module doit pouvoir utiliser des fonctions définies dans un DLL fait en C (et dont j'ai les sources, vu que c'est moi qui codé).
Dans mon code C j'ai la déclaration suivante :
Quand je compile mon code C j'ai bien la DLL qui prend bien en compte cette fonction.
Puis dans mon code VB6 je met :
Declare Function MaFonction Lib "MaDLL.dll" (ByVal Param1 As Long, ByVal Param2 As String, ByVal Param3 As String, ByVal Param4 As String, ByVal Param5 As String) As String
et quand je veux utiliser cette fonction en VB j'ai l'erreur suivante :
"Erreur d'execution '453'; Point d'entrée MaFonction d'une DLL introuvable dans MaDLL.dll", donc je me dis que ma déclaration sous VB6 doit avoir un souci
Est ce que quelqu'un aurait une idée d'où cela pourrait provenir?
Calade
Messages postés1207Date d'inscriptiondimanche 20 avril 2003StatutMembreDernière intervention 4 juin 201610 7 mai 2009 à 15:35
Bonjour,
Au hasard, vu que je connais pas le C. est-ce que ta DLL est bien référencée dans ton programme VB (via le menu Références) et est-elle bien référencée dans la base de registre (via la commande DOS Regsvr32.
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 7 mai 2009 à 21:08
Salut,
Ou se trouve ta DLL ? pour plus de facilité tu dois déposer dans le répertoire de l'application, dans le répertoire de Windows ou dans le répertoire système.
Bizarement quant je développais en vb6, j'ai eu des "bug?" car la DLL devait être placer dans le système et non dans le répertoire de l'application.
Je rappel que nous parlon bien de DLL standard avec des API et non de DLL ActiveX qui elles doivent être inscrite au préalable dans le regsistre (DllRegisterServer ou Regsvr32).
Juste pour infos quel est ton os ?
Tu n'est pas sous une plateforme x64 ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
gaga38
Messages postés46Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention27 août 2009 11 mai 2009 à 10:22
Salut,
Tout d'abord merci de vos réponses
Pour répondre à Mayzz, je suis sous Windows, XP professionnel et oui il s'agit de DLL standard avec API.
Et effectivement je mettais mon DLL dans le dossier du projet, après quelques petits test, je dirai que si le DLL n'est pas dans le dossier system de windows alors il a l'air de la prendre dans le dossier du projet. Mais le comportement et l'erreur reste les même où que soit le DLL
Ensuite, ghuysmans99 qu'appelles tu linké le fichier .def?