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# Discussion :

[C++/CLI] Utiliser vector<> dans du code C#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 22
    Par défaut [C++/CLI] Utiliser vector<> dans du code C#
    Bonjour,

    Je bosse actuellement sur une dll en C++.
    L'interface graphique deja faite est en C#. Je souhaite donc a terme utiliser mon code C++ dans mon interface en C#.

    Mon probleme avant tout cela est que mes fonctions prennent en argument des vector<>. Un exemple de fonction de ma dll native :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    void coverage(std::vector<stations> Stock, int Ref)
    {
    }
    Vais-je pouvoir utiliser ce genre de fonctions "directement" dans le C# ? Car je vais devoir passer le "Stock" des stations a mes fonctions C++ pour effectuer le traitement (que je recupere dans un List<> dans mon interface C#).

    Ou est ce que ca va etre une galere interminable avec les Wrapper ? Y a t il un autre moyen ?


    Thx a lot pour votre aide.

    Cheers

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Yeti_in Voir le message
    Vais-je pouvoir utiliser ce genre de fonctions "directement" dans le C#
    Non, pas directement... vector n'est pas un type managé et n'est donc pas utilisable en C#. Il va falloir que tu crées un assembly d'interop en C++/CLI pour faire le lien entre ta DLL native et ton interface C#.


    Citation Envoyé par Yeti_in Voir le message
    Ou est ce que ca va etre une galere interminable avec les Wrapper ? Y a t il un autre moyen ?
    Ca dépend... s'il y a juste quelques fonctions de la DLL qui doivent être utilisées par l'interface, ça peut aller assez vite. Si au contraire tu as des centaines de fonctions qui seront appelées par C#, tu vas y passer un certain temps...
    "L'autre moyen", ca aurait été de faire la DLL en C#, ou au moins en C++/CLI, mais si elle est déjà faite, tu as peut-être pas envie de la recoder en entier...

    Jette un coup d'oeil aux tutoriels sur l'interop, ça te donnera sûrement quelques idées
    http://nico-pyright.developpez.com/t...c2005/interop/
    http://nico-pyright.developpez.com/t...2005/interop2/

  3. #3
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 22
    Par défaut
    Merci je vais regarder tout ca ;-)
    Meme si je penche actuellement vers une autre solution ;-)

    Cheers.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. C++/CLI : utilisation d'un tableau dans une class
    Par jlg_47 dans le forum C++/CLI
    Réponses: 3
    Dernier message: 07/01/2014, 16h21
  2. Réponses: 9
    Dernier message: 29/12/2006, 15h53
  3. Comment utiliser des instructions SSE2 dans un code c++?
    Par alexIsBack dans le forum x86 32-bits / 64-bits
    Réponses: 7
    Dernier message: 22/02/2006, 19h10
  4. Projet VB v6 : utilisation de requête SQL dans mon code
    Par MITCH31 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 27/10/2005, 15h02
  5. [vb.net] utilisation d'une variable dans le code
    Par arnolem dans le forum Windows Forms
    Réponses: 9
    Dernier message: 30/09/2005, 19h22

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