Comment utiliser du C++/CLI dans du VB.Net ? - C#/.NET managed - Programmation
Marsh Posté le 18-10-2006 à 07:36:56
tes 2 projets font partie du même namespace ?
Marsh Posté le 18-10-2006 à 18:00:00
Non.
En réalité, il y a une classe écrite en C++ que j'aimerais utiliser: la classe Compiler.
Quand je déclare quelque chose en vb de type Compiler, il veut pas.
Du coup, j'ai rajouté
Code :
|
autour de la déclaration de la classe.
Donc maintenant le projet en VB veut bien que je fasse imports ETPC mais il veut toujours pas que je déclare (ni meme que j'instancie) quelque chose de type Compiler.
Marsh Posté le 18-10-2006 à 19:42:34
Dim compiler as New ETPC.Compiler
Marsh Posté le 18-10-2006 à 21:13:09
'ETPC.Compiler' is not accessible in this context because it is 'Private'.
Marsh Posté le 18-10-2006 à 21:58:03
mais ta classe Compiler est publique ?
edit: ah ben non, tu m'étonnes que ça marche pas
rends ta classe publique, bougre d'ane
Marsh Posté le 19-10-2006 à 01:14:08
arf ok. bah excuse moi :-)
La c'est trop bien je vois Compiler à partir du projet vb.
...mais maintenant je vois pas les membres (fonctions) de cette classe.
Marsh Posté le 19-10-2006 à 09:01:27
euh... les méthodes sont publiques aussi ?
Marsh Posté le 19-10-2006 à 18:40:45
oui...
public:
void tokenize();
void machin();
etc...
à moins que ca se déclare autrement pour le .NET
A ce propos, j'ai aussi une autre question. "public class" n'est pas bon dans le C++ standard donc j'aimerais mettre une condition de préprocesseur pour que le meme fichier soit compilable avec ou sans CLR.
#ifdef machin
public class Compiler{
#else
class Compiler{
#endif
qu'est-ce que je peux mettre comme "machin" ?
Marsh Posté le 17-10-2006 à 18:48:19
J'ai une solution avec deux projets:
1° en vb.net et
2° en C++.
Celui en c++ j'ai activé la gestion de MSIL et j'ai mis dans celui du vb comme référence le projet du C++. Je veux utiliser les classes que j'ai écrites en C++ dans mon vb en gros.
Quand je tape "imports" intellisense ne me propose pas le nom du projet c++ que je viens de mettre en référence. Si je le mets à la main, ca compile mais je ne peux pas pour autant l'utiliser car je ne peux pas (plus loin dans le code) instancier des classes etc.. de ce dernier.
Bref, comment on fait pour mélanger du C++ et vb quoi ??