begin process at 2012 02 13 11:35:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

Débutants

 > 

point d'entrée dll introuvable


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

point d'entrée dll introuvable

jeudi 7 mai 2009 à 11:35:29 | point d'entrée dll introuvable

gaga38

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 :

__declspec( dllexport ) char* __stdcall MaFonction (long Param1, char *Param2, char *Param3, char *Param4, char *Param5);

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?

Merci pour votre aide

Gaga38


Petit à petit l'oiseau fait son nid
jeudi 7 mai 2009 à 15:35:19 | Re : point d'entrée dll introuvable

Calade

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.

Calade

jeudi 7 mai 2009 à 21:08:28 | Re : point d'entrée dll introuvable

Mayzz

Membre Club
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 ?
















jeudi 7 mai 2009 à 22:16:09 | Re : point d'entrée dll introuvable

ghuysmans99

Membre Club
Réponse acceptée !
Pas question d'enregistrer une vraie DLL.
As-tu créé et linké un fichier .DEF avec ta DLL  ?

LIBRARY leNomDeTaLib
EXPORTS
MaFonction = _MaFonction@20


Le @20 signifie que 20 octets sont empilés (5 paramètres int, et 5*4=20)
Signature.gif
lundi 11 mai 2009 à 10:22:06 | Re : point d'entrée dll introuvable

gaga38

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?

Le fichier .def que j'ai ressemble à ça :

EXPORTS
    ARCGetAttachmentZIP@8 @1
    ARCSaveDocumentZIP@92 @2
    ARCSearchDocumentZIP@20 @3

Mais je pense que je peux le modifier sans problème pour qu'il colle à ce que tu m'as donné comme exemple.

Merci encore


Petit à petit l'oiseau fait son nid
lundi 11 mai 2009 à 18:55:48 | Re : point d'entrée dll introuvable

ghuysmans99

Membre Club
Réponse acceptée !
Dans les options du projet VC++, ça se trouve dans Linker => Input => Module Definition File.
Signature.gif
mardi 12 mai 2009 à 16:05:51 | Re : point d'entrée dll introuvable

gaga38

OK, je vais essayer de trouver l'équivalent sous code::blocks pour voir ce que ça donne

Petit à petit l'oiseau fait son nid
mardi 12 mai 2009 à 16:52:14 | Re : point d'entrée dll introuvable

gaga38

Ok ça marche mieux, je n'ai plus l'erreur donc c'est super je vais pouvoir avancer

Merci!!!

Petit à petit l'oiseau fait son nid


Cette discussion est classée dans : string, dll, char, entrée, byval


Répondre à ce message

Sujets en rapport avec ce message

Recupération d'une chaine de caractères en VB6 à partir d'une DLL en C [ par gaga38 ] Bonjour à tous, Me revoilà toujours avec des petits soucis de communication entre une DLL faites en C par mes petites mains et mon code VB6.Tout d'abo Rapatrier un tableau de string de ma DLL [ par andrebernard ] Bonjour à tousJ'ai une DLL standard (donc non activeX) qui est ecrite dans un autre language.Dans cette DLL, j'ai des fonctions qui me retournent des Parametre integer transmis à une DLL incorrect [ par andrebernard ] Bonjour à tousVoila, je transmet une valeur - 1, à une DLL non active X.Pour cela, j'ai declaré ces variables en integer.Hors, je viens de m'appercevo Conversion d'un String en VB.net en Char* en C++.net [ par didiou ] salut tout le monde!J'ai un petit probleme sur lequel je galere depuis 2 jours:J'ai developpé une dll en C++.net qui comporte une fonction ayant pour probléme de dll [ par mdiouf ] En fait j'ai ecrit un programme qui quand je l'exécute via vb çà marche comme il faut. Mais une fois que je génére la dll il m'envoi une erreur:"Type String et Char[], probleme de caracteres [ par Shouwi ] Hello, aprés moultes recherches et essais, je n'arrive pas a faire ce que je veux :\Je veux lire un fichier, style ASCII ART, donc avec des caracteres String et Char[], probleme de caracteres [ par Shouwi ] Hello, aprés moultes recherches et essais, je n'arrive pas a faire ce que je veux :\Je veux lire un fichier, style ASCII ART, donc avec des caracteres String et Char[], probleme de caracteres [ par Shouwi ] Hello, aprés moultes recherches et essais, je n'arrive pas a faire ce que je veux :\Je veux lire un fichier, style ASCII ART, donc avec des caracteres Convetion d'appel d'une DLL [ par moreau_l ] Bonjour tout le monde, J'ai un petit problème avec une DLL que je fais sous VC++ 6 et que je veux utiliser sous VBA. J'arrive sans problème à créer Utiliser les fonctions d'une DLL chargée dynamiquement [ par Drakkhen ] Si on se sert d'une DLL en la chargeant dynamiquement, donc sans utiliser "Declare Function"...On utilise donc "LoadLibrary" et "GetProcAddress" pour


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,025 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales