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 :

passage d'une string à ma dll


Sujet :

C++

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 296
    Points : 99
    Points
    99
    Par défaut passage d'une string à ma dll
    Bonjour,
    Je suis en train de coder une dll à qui je dois passer une string (adresse IP) depuis une autre appli faite aussi en c++.
    Dans la dll la fonction est déclarée ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DllExport void MaFonction(const std::string STR,u_short Port)
    {
    ...
    }
    et dans mon appli la dll est appelée ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    const std::string IP = "192.168.120.5"
    MaFonction(IP,9763);
    J'ai essayé plein d'autres façons, avec des const char et autres.
    Mais j'ai toujours des exceptions ou la string que je reçois ne ressemble pas à ce que j'envoie.

    Merci pour votre aide

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 296
    Points : 99
    Points
    99
    Par défaut
    En repartant des bases j'ai utilisé
    const char *
    et ça fonctionne.

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 073
    Points : 12 119
    Points
    12 119
    Par défaut
    Les API de Dll en C++, c'est caca.
    L'implémentation de la classe "std::string" n'a aucune garantie qu"elle soit la même, ou même compatible, entre celle du code appelant et celle de la Dll.

    Passez par une API C, comme l'usage d'un "const char *", cf. la réponse de @sdecorme.

    EDIT: Oups, pas vu l'auto-réponse.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/03/2009, 11h28
  2. Procédure : passage d'une string : erreur !
    Par sp2308 dans le forum Débuter
    Réponses: 9
    Dernier message: 10/01/2008, 21h19
  3. Réponses: 4
    Dernier message: 11/04/2007, 12h49
  4. Passage d'une String[] en argument.
    Par Empty_body dans le forum Langage
    Réponses: 3
    Dernier message: 08/03/2007, 14h41
  5. Réponses: 15
    Dernier message: 24/01/2006, 16h08

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