begin process at 2012 05 30 10:40:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Autre

 > 

Utiliser une classe C++ en VB.NET


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

Utiliser une classe C++ en VB.NET

mardi 9 septembre 2008 à 10:23:10 | Utiliser une classe C++ en VB.NET

svallee

Membre Club
Bonjour,

On m'a fourni une classe C++ que je doit appeller dans un programme en VB.NET. J'ai trouvé comment appeller des fonctions C++ en VB.NET mais une classe ! est-ce possible ?
Merci d'avance
mardi 9 septembre 2008 à 12:16:30 | Re : Utiliser une classe C++ en VB.NET

BruNews

Administrateur CodeS-SourceS
Tu arrrives à compiler du C++ chez VB ???

ciao...
BruNews, MVP VC++
mardi 9 septembre 2008 à 14:19:46 | Re : Utiliser une classe C++ en VB.NET

rt15

Membre Club Administrateur CodeS-SourceS

Salut,

Autant prévenir, toutes mes solutions sont plus ou moins pourris.
La solution 3 est probablement la plus facile, bien que ça dépende de ce que tu dois faire avec ta classe (Une instance où plusieurs instances... Si plusieurs, il faudrat passer par un tableau...). La première est longue et complexe à mettre en oeuvre. La 2, je n'en ai aucune idée.

## Solution 1 :

En C++, on peut faire des classes COM et les stocker dans une dll. Le VB.NET est à peu près compatible avec la techno COM, et peut utiliser les classes COM définies dans une dll, moyennant quelques cliques à droite et à gauche dans Visual Studio.

Par contre, ce n'est pas évident de faire des classes COM en C++ (cf mon lien un peu plus haut pour avoir plus d'infos).

## Solution 2 :

Tu dois aussi pouvoir t'arranger pour faire du C++/CLI, et compiler ta classe dans un assembly .NET. Tu pourras facilement utiliser cette classe dans ton VB.NET. Je n'ai aucune idée de comment s'y prendre et de ce que doit respecter une classe C++ pour être compilable en .NET.

## Solution 3 :

Mettre ta classe dans une dll classique exportant des fonctions C, qui elles même appellent les fonctions C++ (Avantage, pour se la pêter, on peut appeler ça un wrapper). Au final, ça donne ça :
VB.NET <-> C <-> C++

La doc de wikipedia sur les dlls est pas mal. Côté C++, il faut que tu fasse comme dans cette doc :

extern"C" __declspec(dllexport) int toto()
{
   return monInstanceDeClasse.toto();
}

Côté VB.NET, il faut utiliser declare ou dllimport.

Attention à la convention d'appel.



Cette discussion est classée dans : net, vb, utiliser, classe, appeller


Répondre à ce message

Sujets en rapport avec ce message

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 Pour utiliser le DDK de Micrososot ? ... quoi prendre ?? [ par Robbby ] Bonjour à tous,Ma question me semble simple et pourtant, je n'arrive pas à y trouver de réponses. Et pourtant j'ai cherché pas mal sur le Net.Voici:Je Comment utiliser les classes avec les boites de dialogue ? [ par alain34270 ] Bonjour,j'ai écrit une classe qui contient une boite de dialogue.Je veux utiliser la fonction DialogBox pour afficher ma boite de dialogue, associée à Classe CFile [ par enrageur ] J'effectue un projet de type console sous visual. Je voudrais utiliser la classe CFile pour ouvrir un fichier texte et avoir sa taille. Pour utiliser récupération de données excel avec vb.net et bascule vers un fichier unique .txt [ par coeurdenoir ] Bonjour,je suis un débutant alors ne soyez trop dur avec moi.Voila je travaille sur un projet informatique et aujourd'hui je bloque sur un point qui Classe & Operateur sous .NET [ par Joky ] Décidement ce logiciel me pose quelques soucis !!!Lorsque je déclarer mes operator sous VC6.0 il ne me disait rien, et la il tape une ptite crise :/ f C++ et vb.net [ par grololo ] Bonjour,dans un projet VB.NET, j'utilise un ocx réalisé en c++.Je voudrais savoir comment debugger mon ocx en c++ dans le projet VB.NET, c'est à dire classe DTS avec studio net [ par louis21 ] classe DTS avec studio net [ par louis21 ] Newbie : appeller une Dll depuis une Dll en C++. [ par Pyre_Desire ] Bonjour a tous !! Je viens tout fraichement de m'inscrire sur ce réseau de sites, je débute un peu en C++, et comme il se doit je suis remplie de ques


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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 : 0,328 sec (3)

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