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

VC++ .NET Discussion :

[VS C++ 2005] Création d'un projet class library dans une solution


Sujet :

VC++ .NET

  1. #1
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut [VS C++ 2005] Création d'un projet class library dans une solution
    Bonjour,

    J'ai créé une solution contenant trois projets en C++ .Net (je programme en C++/CLI). Je voudrais créer une librairie de classes (4ème projet) pour l'utiliser dans mes trois premiers projets.
    Le hic est que je ne vois absolument pas comment implanter cette librairie en respectant la syntaxe .Net et comment y faire appel à partir de mes autres projets. Je cherche depuis 1heure et quelques et je ne trouve rien de concret.

    Exemple de structure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        public value struct User
        {
            unsigned int user_id; 
            String^ civ; //civilité 
            String^ fname; //Prénom 
            String^ lname; //Nom
            Char tel; //Téléphone
        };
    Merci pour vos lumières.
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Tu donnes trop peu d'infos, là...

    PS: Un seul caractère pour le n° de téléphone ?

    PPS: pour l'appel, je crois qu'en C++/CLI on utilise la directive #using, ou (et?) les références du projet.
    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.

  3. #3
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    La librairie est juste une liste de structures que je voudrais utiliser dans des classes présentes dans les autres projets de la solution.
    Quelles autres informations dois-je donner ?

    Le corps de ma "class library" (ClassLibrary.cpp):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     #include "stdafx.h"
    #include "ClassLibrary.h"
     
    namespace ClassLibrary {
     
        /// <summary>
        /// Structure définissant un utilisateur
        /// </summary>
        public value struct User
        { ... }
    [...]
    }
    Dans l'entete, dois-je mettre seulement le nom de chaque structure ?
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public value struct User;
    Et pour utiliser mes structures dans les autres projets, dois-je ajouter une référence vers ma librairie et ensuite mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using namespace ClassLibrary;
    Ce code suffit ?

    PS: oui, pour le téléphone, ce n'est pas un "Char"... je dois le changer.

    Merci beaucoup.
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  4. #4
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Erreur 82 error C2061: erreur de syntaxe : identificateur 'nomDuneStructure' d:\users\user1\visual studio 2005\projects\rep1\rep2\ClasseUtilisantStructures.h 13
    'nomDuneStructure' est une structure que je déclare comme type d'une variable passée en paramètre d'un fonction que j'utilise dans les autres projets. Malgré le 'using namespace ListeDeStructures.h', il me génère = cette erreur.

    Par ailleurs, je m'améliore un peu
    Il faut déclarer toutes les structures dans l'entête de la classe. Dans le corps, il faut faire que des #include.

    [EDIT]
    Il faut effectivement ajouter la référence au projet dans lequel on veut utiliser la librairie. Il faut également faire un using.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using namespace NomDuNamespaceDeLaLibrairie;
    Et ca marche...
    Par contre, j'ai un probleme avec les typedef, il ne les reconnais pas.
    Je les declare comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    typedef cli::array<Struct1,1> ArrayOfStruct1;
    [/EDIT]
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 12
    Points
    12
    Par défaut comment faire un appel d'un Projet en Visual C++ .NET
    Bonjour,

    J'ai regroupé 2 projets en un seul projet qui sera mon programme principale. le problème c'est comment appelé un des deux projets à l'intérieure du programme principale?

    Je joint un imprime écran de mes 3 projets.

    Merci

  6. #6
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    C'est quoi le problème ?

    [EDIT="Suite de mon problème"]J'ai compilé la librairie et je l'utilise finalement dans les trois autres projets.
    par contre, les tableaux de structures de cette librairie que je veux utiliser dans les autres projets, je dois les déclarer dans chaque classe où je veux les utiliser.
    Quand je les mets dans la librairie de classes (structures), les tableaux ne sont pas reconnus. [/EDIT]
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

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

Discussions similaires

  1. Classes partagées dans une solution
    Par CaptainJuv dans le forum VB.NET
    Réponses: 1
    Dernier message: 06/12/2013, 16h41
  2. erreur C2440 sur un projet class library
    Par yann458 dans le forum C++/CLI
    Réponses: 3
    Dernier message: 20/12/2011, 14h06
  3. Création d'un projet d'installation pour une application Winforms
    Par boby62423 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 30/01/2009, 21h38
  4. Réponses: 4
    Dernier message: 22/04/2008, 16h47
  5. Réponses: 6
    Dernier message: 08/02/2008, 22h33

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