IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++/CLI Discussion :

Retourner un vector dans une m�thode manag�e et la propager dans une dll


Sujet :

C++/CLI

  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    88
    D�tails du profil
    Informations personnelles :
    �ge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 88
    Par d�faut Retourner un vector dans une m�thode manag�e et la propager dans une dll
    Bonjour, et d�sol� pour ce titre tr�s (trop) long.

    J'ai un probl�me tr�s �trange.
    Dans une dll, j'ai d�fini une ref class, avec une m�thode publique qui retourne un vector<int>.
    Ca compile sans aucun soucis.

    Ensuite j'utilise cette classe dans un autre projet, en utilisant la dll g�n�r�e. Je peux instancier ma classe, mais je ne peux pas appeler la m�thode en question :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    error C3767: 'ManagedGuesser::Guess': candidate function(s) not accessible.
    Apr�s recherches sur MSDN, ce probl�me peut �tre li� au fait que les types natifs sont d�clar�s en private par d�faut, et ne sont pas visible en dehors de la dll. Le truc ici c'est que vector<int> c'est pas vraiment moi qui ait d�clar� ce type...

    J'ai essay� de renvoyer un pointeur sur le vector, de mettre un autre type dans le < >, une r�f�rence, ... ca marche pas.

    Par contre, si je renvoie directement un int dans la m�thode, je n'ai pas de probl�mes.

    Auriez-vous une id�e?

    Merci beaucoup

  2. #2
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    quel type de projet essaie d'acceder � cette dll ?

  3. #3
    Membre �clair�
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    88
    D�tails du profil
    Informations personnelles :
    �ge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 88
    Par d�faut
    C'est un autre projet C++ manag�.

    Donc en gros les deux projets sont en C++/CLI.

    Bonne journ�e

  4. #4
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    la classe C++/CLI ne peut pas exposer des membres natifs.
    Mais pourquoi utiliser des vector ? Le fx.net dispose de conteneurs tr�s puissants (List<>, etc ...)

  5. #5
    Membre �clair�
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    88
    D�tails du profil
    Informations personnelles :
    �ge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 88
    Par d�faut
    En fait c'est pour des raisons de compatibilit� un peu obscures : j'utilise des lib C++ natives, qui ne savent utiliser que des vectors, et je ne veux pas marshaller en vectors des List

    Je vais me d�brouiller autrement.

    En tous cas merci pour ta r�ponse !

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 0
    Dernier message: 24/03/2010, 10h24
  2. R�ponses: 3
    Dernier message: 20/04/2009, 09h13
  3. R�ponses: 2
    Dernier message: 26/06/2008, 21h20
  4. Comment appeler une m�thode dont le nom est dans un string?
    Par Ireon dans le forum API standards et tierces
    R�ponses: 22
    Dernier message: 13/04/2007, 17h22
  5. R�ponses: 3
    Dernier message: 05/10/2006, 18h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo