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 Express - Cration de Variables globales


Sujet :

VC++ .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 27
    Par défaut Vs C++ 2005 Express - Cration de Variables globales
    Ave à tous,

    Ce message sera peut-être long pour certains, qu'ils m'en excusent d'avance.

    A cause de l'absence de possibilité graphique du logiciel de gestion de banque de données (WinDev pour ne pas le citer) je dois développer des modules (Dll) pour palier cette absence. Ne désirant pas investir (pour le moment du moins) dans l'acquisition d'une version complète d'un logiciel de développement, le Visual Studio C++ 2005 Express étant gratuite, mon choix ne m'a pas été dificile et j'espère avoir fait le bon. ...

    Je n'ai pas eu trop de difficultés avec les différents exemples que le VC++2005 Express donnent mais dès que l'on commence à écrire son propre code ... les difficultés commencent.

    Débutant en C++2005 Express mais pas en programmation, j'ai créé une classe (VarGlob qui devrait contenir toutes les variables nécessaire aux modules à écrire) dans le projet (Nav00 qui contien actuellement une Winform et les barres de Menus/Menustrip, Boutons/Toolstrip Cases à cocher/FlowLayoutPanel barre de Message/Statustrip) et voilà les erreurs que je reçois après avoir inclus les lignes de code reprises à l'adresse

    http://dotnet.developpez.com/faq/cpp...ariableGlobale

    le code :

    #pragma once

    public ref class VarGlob
    {
    public:
    VarGlob(void);
    private:
    static String ^ChainCaract;
    public:
    static property String ^ChainCaract
    {
    String^ get()
    {
    return ChainCaract;
    }
    void set(String^ value)
    {
    ChainCaract = value;
    }
    }
    };


    Je me doute qu'il y a des erreurs de redondance du fait de l'absence de ";".

    Merci de bien vouloir m'aider.

  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
    t'as du oublier de faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    using namespace System;
    note aussi que tu peux pas appeler ta propriété de la meme facon que ta variable privée, en général, la convention classique c'est de rajouter un _
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    private:
    	static String ^_chainCaract;
    public:
    	static property String ^ChainCaract
    	{
    		String^ get()
    		{
    			return ChainCaract;
    		}
    		void set(String^ value)
    		{
    			ChainCaract = value;
    		}
    	}

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 27
    Par défaut Variables Globales.
    Merci Nico pour ta réponse.

    Je vais lire ce qu'entraîne le "_" devant le nom d'une variable.

    Je dois donc si j'ai bien compris :
    1) ajouter la ligne "using namespace System;" dans la class "VarGlob" entre "#pragma once" et la ligne "public ref classe VarGlob"
    2) ajouter un "_" devant le nom de la variable spécifié dans la ligne "private etc.."

    Question subsidiaire:
    Doit-on obligatoirement introduire les 14 lignes de code (depuis la ligne private: jusque et y compris la ligne "}" avant celle "};" pour définir chaque variable globale texte que l'on désire utiliser ?

    Permet-moi de te demander ton avis. Ai-je été bien inspirer de vouloir utiliser VC++2005 Express pour développer l'un ou l'autre module (Dll) que j'aurais besoin dans un autre outil de développement (WinDev 11 pour ne pas le citer). Windev est "court" dans ces fonctions graphiques.

    Les modules que je désire développer sont expliqués dans deux discussions que j'ai ouverte le 10/07 dernier. Si tu veux bien les lire et me donner ton avis.

    Voilà j'ai ajouté les changements, OK pour la compil.

    J'ajoute dans un "_MouseEnter" du Form1.h de Nav00 (mon projet) la ligne d'appel :

    VarGlob::ChainCaract = "Affiche/Désaffiche les ...";

    et je reçois 2 erreurs :
    Erreur 1 error C2653: 'VarGlob'*: n'est pas un nom de classe ni d'espace de noms f:\Mes Projets\C++Expres5\Début C++\Essais\Nav00\Nav00\Form1.h 482
    Erreur 2 error C2065: 'ChainCaract'*: identificateur non déclaré f:\Mes Projets\C++Expres5\Début C++\Essais\Nav00\Nav00\Form1.h 482

    Pourquoi le compilateur ne prend pas en compte le nom de la classe ni d'espace de nom "VarGlob" alors que je l'ai créée via la procédure "Clic droit sur le nom de mon projet dans la fenêtre Affichage des classes, puis Ajouter et selection de Classe ?
    De même pourquoi 'ChainCaract' est considéré comme un identificateur non déclaré ?

    Merci de ta réponse.

  4. #4
    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
    alors, je suis pas trop là ...
    tu as créé une assembly et tu veux l'utiliser depuis un projet windev, c'est ca ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 27
    Par défaut
    Bonsoir Nico,

    Je réponds à ton message du 13 à 13h36 sans savoir si tu as déjà lu mon mail du 12 à 15h08.

    Le pourquoi je débute en VC++ 2005 Express, c'est effectivement pour écrire des "modules" (des Dll...) de routines graphiques en VC++2005 Express qui comblent le manque de puissance en fonctions graphiques de WinDev et que j'appellerai en Windev.

    Ces modules ne sont pas encore développés actuellement mais j'espère y parvenir sans savoir si le VC++2005 Express me permettra d'y arriver et c'est pour cela que dans un de mes mails je te demande ton avis par rapport aux autres outils de développement Visual Studio (C, C# et Basic).

    Merci de ta réponse.

  6. #6
    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
    Alors perso, de windev j'en connais que ce que j'ai vu à l'école, c'est à dire quasiment rien
    Tu aurais plutot interet à demander à des gens qui s'y connaissent en Windev.

    Après, niveau intérropérabilité, si windev sait gerer la CLR, et bien tu as tout à fait interer à développer des assemblys.
    Au pire, il faudra à mon avis faire du natif, mais je ne sais pas comment ca s'intègre à Windev.

    Pose peut-etre la question dans le forum windev http://www.developpez.net/forums/forumdisplay.php?f=226

Discussions similaires

  1. SSIS 2005 ACCES VARIABLE GLOBALE
    Par mesanges074 dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 02/10/2007, 14h56
  2. Création d'état avec SQL Server 2005 Express
    Par Holmay dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/04/2007, 21h07
  3. Création de dll en visual basic 2005 Express
    Par CodeBleu dans le forum VB.NET
    Réponses: 6
    Dernier message: 17/04/2007, 08h44
  4. [C#][Débutant]Création d'add-in pour MVS 2005 Express ?
    Par Laurent Dardenne dans le forum C#
    Réponses: 5
    Dernier message: 12/04/2006, 11h23
  5. [C# VS .Net 2005] Variable globale
    Par jpminiscloux dans le forum Windows Forms
    Réponses: 2
    Dernier message: 20/11/2005, 13h40

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