begin process at 2010 03 21 07:56:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

Divers

 > 

Dll avec fonctions exportables ?


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

Dll avec fonctions exportables ?

mercredi 20 avril 2005 à 15:13:42 | Dll avec fonctions exportables ?

Cako19

Bonjour,

Est-il possible en VB de créer des dll contenant des fonctions utilisables dans une autre environnement comme en C++ ?
Les Dll ActiveX permettent-elles de faire ça ?
Pour l'instant, j'ai créé une Dll ActiveX en VB que je souhaiterais utiliser sous Centura mais je ne peux pas appeler les fonctions, et quand j'ouvre le fichier ".dll", je ne vois pas les fonctions qui appartiennent à ma dll. Comment cela se fait-il ?

Merci d'avance pour vos réponses,

Cako19
mercredi 20 avril 2005 à 16:37:08 | Re : Dll avec fonctions exportables ?

Flachy Joe

Les dll ActiveX n'utilise pas le même systeme d'export que les dll C++, je ne crois pas que ce soit possible d'exporter vers un language qui ne gere pas ActiveX :-(

Flachy Joe
mercredi 20 avril 2005 à 17:09:53 | Re : Dll avec fonctions exportables ?

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Les dll ActiveX sont reconnues sous VC++ par exemple, mais peut-être pas sous autres IDE en C++ !

Les ActiveX permettent de partager du code entre plusieurs langages gérant l'ActiveX, ensuite, il faut trouver l'IDE qui reconnait l'ActiveX.

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
mercredi 20 avril 2005 à 17:13:15 | Re : Dll avec fonctions exportables ?

franckydeluka

je sais que l'inverse est possible, c'est à dire d'utiliser une dll en c++ pour un projet VB mais le fait que ce soit une dll activeX je sais pas.
par contre je sais que les dll activeX ne fonctionnent pas comme de simples dll et tu ne peux pas voir les fonctions qu'elles exportent en cliquant dessus.
quand tu ouvres ton projet activeXdll sous vb6 tape f2 et recherche dans la liste le nom de ta dll (il doit être en gras normalemen) clique dessus et tu verras dans la fenetre de gauche toutes les fonctions qu'elle exporte.
essai ensuite de l'appeler à partir d'un projet en vb.

si là ca marche pas alors c'est que tu as un souci soit dans ta déclaration de fonctions de ta dll soit dans le programme appelant.

ensuite si ca marche je pense qu'à partir d'un projet en c++ ca doit être possible (du moins théoriquement ya pas de souci)  mais je peux pas t'affirmer ça.
bon courage

Deluka.
mercredi 20 avril 2005 à 17:15:27 | Re : Dll avec fonctions exportables ?

Cako19

C'est quoi un IDE ?
Ce qui me paraît bizarre, c'est que dans ma dll, quand je l'ouvre avec Dependency Walker, je ne peux pas voir mes fonctions alors que dans les dll faites en C++, je peux les voir.
Est ce normal ? Dois je utiliser un paramètre permettant d'exporter les fonctions comme en C++ ?

Merci beaucoup de vos réponses en tout cas !

à+

mercredi 20 avril 2005 à 17:24:42 | Re : Dll avec fonctions exportables ?

Cako19

Ok merci beaucoup franckydeluka ! J'ai écris mon dernier message en même temps que toi je pense. Mais tu es sûr que toutes ces fonctions sont exportables ?

En effet, lorsque j'appelle une de ces fonctions dans un autre projet VB ça marche et en plus, j'ai pas besoin de la redéclarer avec son nom et ses paramètres comme si elle venait d'un dll C++.
Bon, c'est pas bon signe pour l'exportation des fonctions de ma dll dans mon environnement ça :(

mercredi 20 avril 2005 à 17:27:19 | Re : Dll avec fonctions exportables ?

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Un IDE = Environnement de développement (le logiciel que tu utilise pour développer en quelque sorte).

Une dll ActiveX se base sur ATL pour construire l'interface de la dll : ce langage permet de définir quelles sont les classes ainsi que les membres de ces classes qui sont visibles du client de l'ActiveX. Donc, que tu développe ton ActiveX en VB, C++, Delphi ou autre, n'importe quel langage reconnaissant les ActiveX doivent pouvoir utiliser les classes de l'ActiveX.

Maintenant, il faut créer des dépendances vers ton activeX dans ton projet C++, et instancier la classe de ton ActiveX pour pouvoir accèder aux méthodes de celle-ci, comme en VB sûrement (je n'ai jamais utiliser d'ActiveX en C++, donc je peux pas te dire réellement la marche à suivre, mais ca doit être cà à quelque chose près).

Bien entendu, le client de l'activeX ne peux accèder qu'aux membres publics de ta classe, et ta classe doit être publique et insctanciable pour pouvoir être reconnue dans un autre projet.

Je peux te conseiller d'aller voir les tutoriaux déposés sur www.developpez.com qui parlent des ActiveX en VB : ils sont très bien fait, et je pense que tu devrais y trouver quelques réponses à tes problèmes actuels (et futurs... ;)

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
mercredi 20 avril 2005 à 17:30:26 | Re : Dll avec fonctions exportables ?

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Autre chose, en VB, il suffit de déclarer une fonction en "Public" dans la classe de la dll pour qu'elle soit exportée automatiquement, contrairement à une dll ActiveX créer en C++ !

Donc tu n'as pas à gérer les fonction exportables, il te suffit juste de construire l'interface de ta classe (déclarations des tes fonctions membres et propriétés publiques).

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
jeudi 21 avril 2005 à 12:46:42 | Re : Dll avec fonctions exportables ?

Cako19

Le problème c'est que je développe pas en C++ mais en Centura Team Developper et que j'ai besoin d'avoir les noms de fonction dans la dll pour pouvoir les utiliser. Bouhou !
Parce que ça fonctionne un peu avec le même principe que pour Visual Basic quand il appelle une fonction d'une dll C++ par exemple : il faut déclarer la fonction avec son nom et ses paramètres et dire à quelle dll elle appartient. Y a vraiment aucun espoir de pouvoir faire apparaître les noms dans la dll ?
jeudi 21 avril 2005 à 12:57:56 | Re : Dll avec fonctions exportables ?

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Attention, une dll ActiveX n'est pas une dll C : avec l'ActiveX, il n'est plus possible d'accèder à une fonction particulière en la déclarant (sous VB, ca donne cà : Declare Function x (paramètre) As long), il faut créer une instance de classe pour accèder à la fonction de la classe.

En VB, ca donne cà :
Dim Objet as Object
Set Objet = CreateObject("NomDeLaDll.NomDeLaClasse")
Call Objet.NomDeLaFonction

Les dll ActiveX sont bien différentes des dll C, elles sont bien moins rapides, elles nécessitent un enregistrement dans le registre pour qu'un CLSID lui soit attribué, par contre, elles ont une structure objet ce qui les rends plus pratique à manipuler !

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/


Cette discussion est classée dans : vb, activex, dll, fonctions, exportables


Répondre à ce message

Sujets en rapport avec ce message

pb retour de paramètres depuis ATL ActiveX [ par busagp ] Bonjour, voici un petit (quoi que ?) problème que je rencontre depuis mon passage à VB.NET.Mon appli qui était en VB6 fait des appels à des fonctions Fonctions de lib en VB [ par faucheuse ] Bonjour ami(e)s programmeurs et programmeuzes ; Je cherche un lien vers un (ou plusieurs) site qui explique les différentes fonctions des librairies u Dll non ActiveX en VB ? [ par Raptor ] Il parait qu'on peut créer des Dll non ActiveX en VB ????(un message ici => http://www.vbfrance.com/article.asp?Val=307) Si quelque'un sait, peut il m Creation d'une DLL activeX [ par david ] J'ai un soucis avec visio...j'ai creer une dll sous vb. Celle ci comprends des events et des sub. Le pb, c'est que VBA qui est integré ds Visio 2002 n 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 Comment créer une DLL non ActiveX en VB.NET ? [ par FRSAGEM ] Bonjour à tous,Bonjour à tous,Nous avons un outil de développement (imposé) qui 'accepte que des DLL non ActiveX (développées en C pour ce qui est de HELP!! je craque - définir une fct init() et destroy() dans une dll VB activex [ par lcprog ] Salut à tous!Je développe une dll activeX en vb. Je n'arrive pas à faire une petite chose à savoir implémenter deux fonctions init() et destroy() dans Utiliser des dll non activeX [ par zippro4012 ] La question est dans le titre : Comment utiliser des dll non ActiveX avec vb ou encore :Comment référencer des dll non</ Fonctions associées à activeX ? [ par Cako19 ] Bonjour, Je suis débutante en VB.Comment faire pour rendre exportables les fonctions associées à un ActiveX ?En effet, je souhaite créer un controle A Faire un dll en VB [ par boosty85 ] Bonjour,j'ai un problème et je ne sais d'où vient la cause.J'ai créé un dll sous VB6. Néanmoins, je ne sais pas si je le fais bien.J'ai procédé comme


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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 : 1,357 sec (4)

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