cs_Cako19
Messages postés56Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention 5 décembre 2005
-
22 avril 2005 à 09:52
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
26 avril 2005 à 11:31
Bonjour,
Comment fait-on pour appeler les fonctions d'une dll Visual Basic en C ++?
Si qqun le sait, je suis preneuse !
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 22 avril 2005 à 13:19
Puisque ça chargera le runtime vb par force alors fais tout ton prog en vb, ce sera plus cohérent. Normalement c'est l'inverse, on fait une dll C pour vb afin d'augmenter les performances, toi tu vas écrouler ton prog en y chargeant du vb, on y croit pas...
cs_Cako19
Messages postés56Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention 5 décembre 2005 22 avril 2005 à 14:42
Oui mais je suis sensée développer en Centura Team Developper qui n'accepte que les dll C++ (car il faut nommer les fonctions de la dll créée apparaissant dans Dependency Walker, et VB ne permet pas ça) => Centura, c'est très limité mais j'ai pas choisi.
Donc je voulais créer une dll en appelant les fonctions de la dll Visual Basic (car je crois qu'on peut faire ça en C++ mais je ne sais pas comment) de façon à créer une dll C++ utilisable dans mon IDE.
C'est tordu je sais !! Mais il faut ce qu'il faut pour faire qqch d'un peu évolué sur Centura !!
cs_Cako19
Messages postés56Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention 5 décembre 2005 26 avril 2005 à 11:01
Ben elle est déjà faite en visual basic en plus, elle est très compliquée donc ce serait vraiment plus simple de charger les fonctions dans une dll C++ et de les récupérer comme ça.
Vraiment personne ne voit ?
Merci.
Cako19
Vous n’avez pas trouvé la réponse que vous recherchez ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 26 avril 2005 à 11:31
Une dll vb n'est pas une dll classique avec des points d'entrée fixes sur ses fonctions, c'est un ActiveX. Tu dois donc passer par le chargeur COM pour chaque fonction exposée (classe en vb avec ses propriétés et attributs), faire une gestion d'exceptions, etc... c'est d'une lourdeur extrème.
CoInitialize() au début de ton prog, ensuite des CLSIDFromProgID, CoCreateInstance etc...
Regarde dans les sources, il y a exemples d'utilisation d'ActiveX.