Comment utiliser du C++/CLI dans du VB.Net ?

Comment utiliser du C++/CLI dans du VB.Net ? - C#/.NET managed - Programmation

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 ??

Reply

Marsh Posté le 17-10-2006 à 18:48:19   

Reply

Marsh Posté le 18-10-2006 à 07:36:56    

tes 2 projets font partie du même namespace ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

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 :
  1. namespace ETPC {
  2.     class Compiler{
  3.     }
  4. }

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.

Reply

Marsh Posté le 18-10-2006 à 19:42:34    

Dim compiler as New ETPC.Compiler


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 18-10-2006 à 21:13:09    

'ETPC.Compiler' is not accessible in this context because it is 'Private'.

Reply

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 [:pingouino]
rends ta classe publique, bougre d'ane :o


Message édité par Harkonnen le 18-10-2006 à 21:58:42

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

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.

Reply

Marsh Posté le 19-10-2006 à 09:01:27    

euh... les méthodes sont publiques aussi ? [:el g]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

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" ?


Message édité par necmi le 19-10-2006 à 18:42:36
Reply

Marsh Posté le 25-10-2006 à 14:36:35    

#ifdef True

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed