begin process at 2012 05 28 20:55:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

ActiveX / COM

 > 

encapsuler une DLL C++


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

encapsuler une DLL C++

mardi 2 février 2010 à 01:50:46 | encapsuler une DLL C++

alain8550

Bonjour,



J’ai une DLL écrite en VC++ par une tierce compagnie à laquelle je dois accéder en VB.Net ou C#. Je n’ai évidemment pas accès au code source mais j’ai le fichier .h et .lib de ce DLL.



Selon moi j’ai deux possibilités pour arriver à mon objectif : soit tenter d’accéder directement à la DLL en utilisant DLLImport (ou autre méthode) ou écrire un wrapper en C++ pour que ce wrapper soit visible par Dot Net. J’ai tenté les deux et je n’ai pas eu de bons résultats. Ma question : quelle est, selon vous, la meilleure façon à utiliser pour accéder à la DLL via Dot Net? Mes connaissances en C++ sont plutôt basique je veux donc savoir ou concentrer mes recherches.



Merci de vos suggestions.
mardi 2 février 2010 à 08:08:10 | Re : encapsuler une DLL C++

fregolo52

Membre Club
Salut,

Il me semble que tout le monde utilise DLLImport pour accéder au API Win32.
Pour avoir des réponses plus pertinantes, je te conseille plutot les forums .NET (C# ou VB, pas C++) où tu trouveras surement des tutoriels ou exemples de code.
mardi 2 février 2010 à 18:10:54 | Re : encapsuler une DLL C++

Lutinore

Administrateur CodeS-SourceS

Salut, si la DLL contient uniquement des fonctions, un simple DllImport suffit, il est possible d'accéder aux methodes d'une classe avec la convention d'appel ThisCall mais pour ça la classe doit être marquée comme exportée coté C++.

Niveau performance entre un wrapper C++/CLI et DllImport c'est quasiment la même chose, tout dépend si les types sont correctement marshallés entre le code managé et non managé, il faut utiliser un maximum de types blittables, c'est à dire des types qui ont la même représentation mémoire en C++ et en C# ce qui évite au runtime de faire tout un tas de copies inutiles.


Cette discussion est classée dans : net, dll, accéder, encapsuler, wrapper


Répondre à ce message

Sujets en rapport avec ce message

Accéder à l'interface d'une Dll [ par yoyocestmoi ] Bonjour,J'ai développé une petite librairie (Regular DLL sous VC++) et j'aurais voulu savoir si il existait un moyn pour voir son interface (cad métho Comment integrer une dll dans un exe avec .net [ par youpiyoyo ] comment le titre le dit j'aurai besoin d'integrer une dll, dans mon exe (projet), pour eviter une dépendance lors de l'execution.tout ceci est avec vi Utiliser une DLL avec une interface en C [ par TheRobot ] Bonjour, Je developpe une application en VB.net et je voudrais utiliser une dll avec une interface C.A priori ce n'est pas possible car il n'y a pas d Accéder à une BDD access en VC++.NET [ par baptistemazet ] Comment faire ? Ce serait la base de développement d'un programme pour moi ! Merci de me dire les ressources éventuelles à prendre en charge, name spa DLL de VC++ à VB.net [ par toxjamescook ] bonjour j'ai besoin d'un petit renseignement:Voila je souhaites recupérer des infos numériques de deux bus can puis les visualiser par une interface.j DLL sur C++ [ par mayouma ] Je veux créer une DLL sur C++.Net mais j'ai pas su quel type choisir (Regular DLL with MFC, ou Regular DLL using Shared MFC DLL ou MFC extension DLL). lier une dll [ par auges ] Salut  les amisje programme actuellement sous C++.NET et j'ai une dll qui est ecrite sous C.J'aimerais utiliser les fonctions que cette dll met à ma d [Visual .NET 2003] Web Components (OWC10.DLL) initialisation [ par spyanakine ] Salut à tous, j'utilise un web ocomponent OWC10.DLL sous Visual .NET 2003 en C++ (et non VB). Je n'arrive pas à initialiser les valeurs du graphique c Debuguer une DLL ? (.NET) [ par albert0 ] Bonsoir :) voila, j'ai cree une DLL poure faire un hook, le probleme, c'est qu'a un moment il y a une erreur (genre erreur a l'adresse 0x0033...) d dll en c++ 6.0 [ par NaNouk_X ] Bonjour,j'ai un problème et je n'ai aucune idée du pourquoi.Voici: j'ai une dll fait en c++ 6.0. je la test par une application vb6 et tout fonction


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,232 sec (4)

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