Accueil > Forum > > > > Utiliser une dll C sous VB6 (pb de conversion de type)
Utiliser une dll C sous VB6 (pb de conversion de type)
mercredi 22 mars 2006 à 22:05:34 |
Utiliser une dll C sous VB6 (pb de conversion de type)

sophie75
|
Bonjour, Je souhaite utiliser une dll qui a été écrite en C, dans un programme VB. Grâce à la fonction Lib, j'arrive à appeler certaines méthodes de cette dll, mais une méthode me pose encore problème: celle-ci prend en paramètres 2 pointeurs, sur chaîne de caractères et sur long. Si quelqu'un pouvait me dire comment redéclarer la fonction sous VB çà me sauverait !! Voici le prototype de la Fonction C: Function maFonction( long* taillemessage, char* message) Voilà comment j'ai essayé de la déclarer sous VB mais çà ne marche pas, il me met une erreur "types incompatibles avec la dll" au moment où je fais appel à la fonction Private Declare Function maFonction _ Lib "madll.dll" ( _ ByRef taillemessage As Long, _ ByVal message As String _ )
|
|
mercredi 22 mars 2006 à 22:42:07 |
Re : Utiliser une dll C sous VB6 (pb de conversion de type)

Titi035
|
ça donne quoi comme erreur?
|
|
mercredi 22 mars 2006 à 22:58:37 |
Re : Utiliser une dll C sous VB6 (pb de conversion de type)

Titi035
|
oups, j'avais pas lu la fin. => une premiere piste sur le retour de ta fontion : Function maFonction( long* taillemessage, char* message) Donc en vb, tu devrais avoir quelque chose comme Lib "madll.dll" ( _ ByRef taillemessage As Long, _ ByVal message As String _ )as Function (à toi de voir le type compatible VB6..) 
|
|
jeudi 23 mars 2006 à 00:59:51 |
Re : Utiliser une dll C sous VB6 (pb de conversion de type)

rvblog
|
Salut sophie, salut titi, je'aimerais plutôt pour savoir ce qu'est Function dans ton proto C, une structure, un handle? Et si la valeur de retour n'est pas indispensable, pas utile de la déclarer ( dans VB). ensuite pour le long*taillemessage, je mettrais ByVal taillemessage As Long. enfin, fais voir l'appel, c'est lui qui déclenche l'erreur ( et si tu fais voir l'appel, fais voir aussi les déclarations des participants à l'appel). a+ rvblogn Je veux ton bien... et je l'aurais
|
|
jeudi 23 mars 2006 à 12:15:37 |
Re : Utiliser une dll C sous VB6 (pb de conversion de type)

sophie75
|
Merci pour votre aide Je vais essayer d'être un peu plus précise, j'avais en effet oublié le retour de la fonction
Fonction C: public int maFonction(long* taillemessage, char* message)
Fonction redéclarée en VB: Private Declare Function maFonction _ Lib "madll.dll" ( _ ByRef taillemessage As Long, _ ByVal message As String _ ) ( J'ai aussi essayé de mettre taillemessage en byval, et message Byref mais toutes les combinaisons renvoient la même erreur)
Appel de la fonction en VB: Dim iResultat as Integer iResultat = maFonction(4, "toto")
Resultat: Message d'erreur: Convention d'appel de la dll incorrect
|
|
jeudi 23 mars 2006 à 13:01:40 |
Re : Utiliser une dll C sous VB6 (pb de conversion de type)

sophie75
|
Décidement... j'ai de nouveau oublié le paramètre de retour dans ma fonction VB. Il s'agit donc bien de:
Fonction redéclarée en VB: Private Declare Function maFonction _ Lib "madll.dll" ( _ ByRef taillemessage As Long, _ ByVal message As String _ ) as Integer
Appel de la fonction en VB: Dim iResultat as Integer iResultat = maFonction(4, "toto")
Par contre, je viens de m'apercevoir qu'en mettant les 2 paramètres de la fonction en "ByVal" et en appelant la fonction comme ci-dessus, VB plante carrément et affiche le message: Visual Basic a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru.
|
|
jeudi 23 mars 2006 à 14:44:25 |
Re : Utiliser une dll C sous VB6 (pb de conversion de type)

rvblog
|
Sophie, essaies de lui rajouter un vbNullChar à l'appel, à la fin de la chaine. rvblogn Je veux ton bien... et je l'aurais
|
|
Cette discussion est classée dans : fonction, vb, long, dll, utiliser
Répondre à ce message
Sujets en rapport avec ce message
probleme acces fonction dans dll vb à partir power builder [ par kali ]
Bonjour, j'ai créé une dll activex à l'aide de vb. Celle ci contient ue seule fonction. Je souhaiterait pouvoir appeler cette fonction à partir d'une
Utiliser la DLL d'un autre programme. [ par Lolux ]
Bonjour,Je souhaite créer un application qui utilise une DLL appartenant à un autre programme.J'ai bien la description de toutes les fonctions de la d
DLL ActiveX en VB [ par LePtitE ]
bonjour, j'ai besion de créer une dll en vb mais je vais l'utiliser dans un autre langagemon probleme, quand j'appelle une fonction de ma dll ca me di
Pb d'utilisation de la fonction AvifileOpen en VB# [ par tlesol ]
Bonjour a tous,J'ai un problème sur l'execution de la fonction AvifileOpen en VB#Le script est le suivant : Private Declare Sub AVIFileInit Lib "avifi
prblm déclaration de DLL c++ en vb [ par cirrus ]
voila, g fouillez partout sur les message mais g rien trouvez qui puisse m'aider donc j'écrit texto mon prblm :)j'appelle une fonction de ma dll fait
DLL en VB Probleme de porté de fonction [ par Zlub ]
Salut a tous, dite j'suis en train de dev une appli qui utilise une dll externe, et mon probleme c que je ne peut appelé la fonction dans mon appli, p
appel d'une fonction dans une dll [ par FMatrix07 ]
je ne vois pas trop comment faire si vous pouvez me donner un exemple concretpar exemple je veux utiliser la fontion CreateToolhelpSnapshot dans la dl
Eviter d'utiliser VB6stkit.dll [ par PrgmDucal ]
DucSalut !Y aurait-il un moyen de démarrer un programme VB sur un ordinateur n'ayant aucune des dll VB de base (surtout VB6stkit.dll).Je voudrais
Fonction des DLL [ par jujeco ]
Je débute dans la programmation en VB6. J'utilise des sources que je trouve sur ce site et je les décortiques pour les comprandre. En général tout vas
Passage de string d'une DLL C++ a un prog VB (.NET) [ par playmo420 ]
Bonjour Je souhaiterais passer une string d'une DLL c++ a un programme VB. Voila ma fonction dans la DLL : string _stdcall selectMom() { ostringstream
Livres en rapport
|
Derniers Blogs
DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|