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

Visual C++ Discussion :

Passage de paramètres dans un ATL C++ depuis C#


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 61
    Par défaut Passage de paramètres dans un ATL C++ depuis C#
    Bonjour,

    Voilà je développe actuellement une librairie en C++, sous la forme d'un ATL.
    Certaines de mes méthodes retournent ([out]) des pointeurs sur listes chaînées.

    Lors de l'appel de ma librairie par une application C#, aucun souci n'a été rencontré, j'obtiens bien l'accès à mes données.

    Par contre j'aurai souhaité savoir si quelqu'un savait comment fonctionnait le ramasse miette du .Net vis-à-vis des DLL externes au projet (et encore plus, développées dans un autre langage). Est-ce que le ramasse miette nettoie également cette zone mémoire, ou est-ce que dans ma librairie je dois également gérer ma libération mémoire ?

    Merci

  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
    c'est ta dll externe qui doit gérer sa propre désallocation de ses zones mémoires

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 20
    Par défaut
    bonjour,
    Après beaucoup de temps passé a chercher dans les tutos et dans les différents topics relatant de l'ATL je n'arrive toujours pas à trouver une solution pour transmettre/recevoir une image par buffer d'une classe c# vers/depuis une classe ATL en C++ se trouvant dans une dll ATL.

    me trompe-je de voie?
    merci d'avance pour vos conseils.

    Chafouin

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    S'il s'agit de données linéaires, tu devrais pouvoir passer ça en tableau de bytes (SAFEARRAY de bytes) ou peut-être même en BSTR... (mais je conseillerais plutôt le tableau de bytes)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 20
    Par défaut
    Merci Médinoc.
    Je vais essayer la solution que tu proposes.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 20
    Par défaut
    Bon j'ai essayé de créer une methode GetImage avec comme paramètre de retour une SAFEARRAY<byte> * mais visual 2008 crée la méthode puis la supprime directement. Soit je me trompe en déclarant les paramètres, soit la SAFEARRAY n'est pas utilisable.

    Je vais essayer le BSTR du coup.

Discussions similaires

  1. passage de paramètre dans un LIKE
    Par dor_boucle dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/01/2006, 16h04
  2. passage de paramètres dans l'invite de commande
    Par mr_neness dans le forum Langage
    Réponses: 10
    Dernier message: 18/11/2005, 15h01
  3. Passage de paramètres dans champ hidden
    Par benassis dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 27/05/2005, 01h22
  4. Réponses: 9
    Dernier message: 13/05/2005, 03h13
  5. Passage de paramètres dans une requête imbriquée
    Par DrakkoFR dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/02/2005, 12h46

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