Question Dll en VB/Dll en C

ricomiracle Messages postés 195 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 30 novembre 2009 - 20 janv. 2006 à 15:17
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 13 sept. 2006 à 19:05
Bonjour,



J'ai écrit une DLL en C que j'utilise dan un projet en VB.

Cependant, je ne vois pas ses objets et méthodes dans l'explorateur d'objet .

Y'a t'il un moyen pour que cela apparaissent?



J'appel les méthodes avec le code suivant:

Private Declare Sub mafonction Lib "fichierdll.dll" ()



....

form_load()

mafonction

...



J'ai essayer d'ajouter la référence à la dll par le menu projet->reference mais je recois un message d'erreur.

Merci pour votre aide

10 réponses

cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
20 janv. 2006 à 16:05
Bonjour,
pour ajouter un référence à une DLL en VB il faut que se soit une DLL COM qui s'enregistre dans la base de registre avec regsvr32

Se sont des DLL différente des DLL que l'ont appelle avec l'instruction declare

Il me semble qu'on peut en faire en C mais le plus simple c'est directement en VB

(Honnetement l'idéal pour une DLL c'est de la faire en .NET car on peut les remplacer à chaud...)
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 janv. 2006 à 16:09
l'explorateur d'objet montre...... les objets

ta Dll n'est pas une Dll ActiveX, et ne comporte apparemment pas d'objet COM qui pourraient etre affichés.

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
ricomiracle Messages postés 195 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 30 novembre 2009
20 janv. 2006 à 18:52
Merci pour ces réponses messieurs

Qu'est ce qu'une Dll ActiveX et Visual Studio me permet t'il d'en écrire une en C?

Je souhaiterais l'écrire dans ce langage pour répondre à des contraintes rapidité d'exécution de mon programme.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 janv. 2006 à 22:25
pourquoi ne pas utiliser les APIs, comme tu semble le faire, pour l'instant ?



coté C, pour des Dll COM faites "relativement" rapidement, utilises les assistants ATL dans Visual Studio.

Tu trouvera tout un tas de tutoriaux sur le Net

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ricomiracle Messages postés 195 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 30 novembre 2009
22 janv. 2006 à 19:43
Merci pour ces réponses.

J'étais parti pour une réalisation en COM mais en fait les APIs semblent tout a fait répondre à mon besoin.

Seul avantage que j'avais en COM, facilité d'écriture du code utilisant la DLL.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
22 janv. 2006 à 22:53
mais pas celui de la Dll, je te l'assure ^^

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
ricomiracle Messages postés 195 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 30 novembre 2009
23 janv. 2006 à 14:35
La Dll est surement compliquée à écrire mais les APIs ne sont pas tres simple.
Il me semble que le code est tout de meme plus "propre" si je l'écris en COM.

Enfin la vrai raison qui me pousse à utiliser COM est la suivante:
J'ai un programme écrit en VB (ce n'est qu'une interface) qui permet de visualiser une BDD sous forme d'arbre.
Cette BDD peut être sous deux formes: soit une base ACCESS, soit un fichier binaire.

Mon interface VB lit et agit sur ces 2 BDD. Donc pour chaque type de BDD, j'ai une DLL qui fournit les objets et méthodes permettant de la gérer.
Dans mon projet VB(interface) le type de base est transparent (même méthodes et objets pour chaques DLL)

D'ou l'utilité de COM.
Tu aurais des liens sur leur création en C par hasard???
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 janv. 2006 à 15:08
0
JeanBarbs Messages postés 1 Date d'inscription mercredi 13 septembre 2006 Statut Membre Dernière intervention 13 septembre 2006
13 sept. 2006 à 18:43
Je désire créer une Dll utilisable en VB6 avec laquelle je dois transmettre, utiliser des tableaux à 2 dimensions, je ne trouve pas de solution!
Je me suis mis au C++ dans l'environnement visual studio 2005 (c'est pas évident) mais je ne sais pas utiliser une Dll écrite en c++ , (j'ai utilisé un exemple de VS2005), avec VB6.
Si quelqu'un connait une solution simple, je suis preneur!
Merci.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
13 sept. 2006 à 19:05
VB utilise le type C 'SAFEARRAY' pour ses tableaux.

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
Rejoignez-nous