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++]Utilisation d'une référence


Sujet :

C++

  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 58
    Par défaut [C++]Utilisation d'une référence
    Bonjour,

    J'ai référencé des fichier (dll et xml) et j'aimerais bien m'en servir maintenant... Je sais qu'en C# on utilise la fonction using mais en c je n'arrive pas a trouver l'équivalent.
    Une idée ?

    Je travail sous vs2003

    Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    mais en c je n'arrive pas a trouver l'équivalent.
    Il s'agit du forum C++, et non du forum C.
    Quoiqu'il en soit, il n'existe pas d'équivalent que ce soit dans l'un ou l'autre des langages.

  3. #3
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 58
    Par défaut
    Donc il n 'y a pas de solution en C ou C++ ? Comment on utilise une reference alors?

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par défaut
    En C, tu ne peux pas lier directement à un projet .Net.
    En C++ pur, tu ne peux pas non plus.
    Dans les deux cas, tu peux utiliser COM si l'assembly est COM-Visible (j'ai vu un tutorial pour cela quelque part, mais de là à savoir où...)

    Par contre, dans un projet .Net en C++ (Managed C++ ou C++/CLI) tu peux utiliser une référence (clic-droit sur projet->add reference) + using namespace dans le source.
    (ou bien, #using, je ne sais plus trop, j'utilise toujours les options du projet...)

    PS: Il me semble que le using de C# ressemble plus au using namespace qu'au #using, mais je peux me tromper: peut-être que le using de C# inclut la référence (ce que using namespace ne fait pas).
    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
    Inscrit en
    Avril 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 58
    Par défaut
    PS: Il me semble que le using de C# ressemble plus au using namespace qu'au #using, mais je peux me tromper: peut-être que le using de C# inclut la référence (ce que using namespace ne fait pas).
    Pour te donner un exemple en C# d'un programme que l'on m'a fourni, System,System.Windows.Forms sont des fichiers dll référencé. Quand je reste dans le projet sur le mot System, je vois apparaitre "namespace System".


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    using System;
    using System.Windows.Forms;
    using Intellident.Asset;
     
    namespace Intellident.Common.XML
    {
    .
    .
    .

  6. #6
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 58
    Par défaut
    Quand tu dis objet COM, tu veux dire Component object Model ? Je vais regarder ce que c'est en détail... Je vois pas trop comment l'utiliser. Si quelqu'un sait, your' welcome

  7. #7
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    S'il ne s'agit pas de C++ mais de C++/CLI, il faut aller dans un autre forum.

  8. #8
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 58
    Par défaut
    Le dernier post de loufoque me dit que je me suis trompé de forum, donc je change. Ensuite je sais ajouter une ref a mon projet l'a n'est pas le problem. Le probleme est de le declarer ensuite dans l'entete de mon program pour l'utiliser (l'equivalence using, namespace C# qui n'existe pas d'apres ce que tu me dis). Tu m'a introduit l'utilisation de COM, j'essaye d'en savoir plus.

  9. #9
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par défaut
    Donc, tu veux utiliser une DLL .Net en C++ normal?
    Si oui, seul COM permet ça (et je suis même surpris qu'il le permette). Dommage que je ne retrouve pas le lien vers le tuto qui montrait ça...
    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.

  10. #10
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 58
    Par défaut
    Comment peut on savoir si notre dll est une .Net dll ou autre chose?

  11. #11
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 288
    Billets dans le blog
    2
    Par défaut
    Je ne suis pas sûr d'avoir bien compris le problème, mais j'ai l'impression que ton problème consiste à "linker" tes dll avec l'appli sur laquelle tu travaille.
    Si c'est ça, il suffit d'aller dans le linker de visual et d'y spécifier tes dlls ainsi que le path du répertoire dans lequel elles sont inclues.

    Hope it helps.

  12. #12
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    J'ai fusionné les sujets, merci d'éviter le multipost à l'avenir...

  13. #13
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par défaut
    Pour une DLL normale, normalement, la DLL n'est pas seule: Il y a un .lib avec.
    Il suffit d'ajouter ce .lib aux options du linker pour que le programme puisse utiliser les fonctions de la DLL.
    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.

  14. #14
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 58
    Par défaut
    Pour une DLL normale, normalement, la DLL n'est pas seule: Il y a un .lib avec.
    Il suffit d'ajouter ce .lib aux options du linker pour que le programme puisse utiliser les fonctions de la DLL.
    oui j'ai pas de .lib ici, c'est ca le probleme. Je viens de demander au mec qui a developpé ca si c'est des dll .Net.
    J'ai fusionné les sujets, merci d'éviter le multipost à l'avenir...
    Oki merci et desole...

    Je ne suis pas sûr d'avoir bien compris le problème, mais j'ai l'impression que ton problème consiste à "linker" tes dll avec l'appli sur laquelle tu travaille.
    Si c'est ça, il suffit d'aller dans le linker de visual et d'y spécifier tes dlls ainsi que le path du répertoire dans lequel elles sont inclues.
    j'ai deja pour referencé mes dll.

    Mais maintenant je ne sais pas comment m'en servir. C'est pas comme si j'avais un .lib et un .h que j'inclu dans l'entete de mon fichier. Je suppose qu'il faut faire quelquechose de similaire pour dire que les fonction de la dll peuvent etre utilise par ce .cpp.... Donc je pensais a un equivalent using du c# qui n'existe apparement pas.

  15. #15
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 58
    Par défaut
    Mes dlls sont developpé en c#, je viens d'avoir confirmation.

  16. #16
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par défaut
    Donc, ce sont des DLLs .Net.

    En théorie, tu as juste besoin de référencer l'assembly (dans les options du projet ou avec un #using) et c'est tout.
    (En C++/CLI c'est le cas, en tout cas. Pour Managed C++, je ne sais pas).
    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.

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/10/2014, 10h22
  2. Réponses: 4
    Dernier message: 23/06/2008, 17h10
  3. Erreur de numérotation des images lors de l'utilisation d'une référence
    Par mobi38 dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 9
    Dernier message: 03/09/2007, 16h36
  4. Utiliser une référence dans une classe
    Par Davidbrcz dans le forum C++
    Réponses: 4
    Dernier message: 07/01/2007, 20h13
  5. [C++] Utilisation d'une référence
    Par cfrelet dans le forum C++
    Réponses: 2
    Dernier message: 09/06/2006, 11h10

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