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++/CLI Discussion :

[C++/CLI] Emplacement pour la d�claration d'une enum dans un Form


Sujet :

C++/CLI

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    36
    D�tails du profil
    Informations personnelles :
    �ge : 39
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 36
    Par d�faut [C++/CLI] Emplacement pour la d�claration d'une enum dans un Form
    Bonjour tout le monde,

    Un peu nouveau dans le monde du C++/CLI, je rencontre beaucoup de difficult� � d�clarer une enum manag�, et plus pr�cis�ment o� effectuer cette d�claration dans mon code.

    Pour le moment, je d�clarais mes enum dans mon fichier .h, plus pr�cis�ment � l'int�rieur de ma classe manag�. Soit :

    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
    16
    17
    18
    19
    20
    21
    #pragma once
     
    namespace MyNameSpace
    {<div style="margin-left:40px">using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
     
    __gc class MyClass
    {
    public:<div style="margin-left:40px">__value enum MyEnum { VAL1, VAL2, VAL3 };
    MyClass(void)
    {<div style="margin-left:40px">InitializeComponent();</div>}</div>protected:<div style="margin-left:40px">void Dispose(Boolean disposing)
    {<div style="margin-left:40px">if (disposing && components)
    {<div style="margin-left:40px">components->Dispose();</div>}</div></div>private:<div style="margin-left:40px">System::ComponentModel::Container * components;
     
    void InitializeComponent(void)
    {
    <div style="margin-left:40px">// Code supprimé ici</div>}</div>};</div>}
    Hors en reprenant un ancien projet d'un autre d�veloppeur, je ne suis pas capable de reproduire ce type de d�claration au m�me emplacement. Lorsque je passe ensuite � l'affichage de l'interface dans le designer, mon Visual Studio 2003 plante et je suis oblig� de terminer l'application. Ensuite impossible de r� ouvrir le projet tant que je n'ai pas comment� ou supprim� cette enum.
    J'ai refait mes essais avec un projet vierge, aucun probl�me pour placer la d�claration de l'�num avec les membres public de ma classe. Ensuite retour dans le code du projet que j'ai r�cup�r� et rebelote pour les crashs de Visual Studio.
    La solution que j'ai trouv� est de d�clarer mon enum en dehors de ma classe, directement dans le namespace. A ce moment l�, je n'ai plus de crash du designer de Visual Studio et � l'ex�cution tout � l'air de bien se passer...

    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
    16
    17
    18
    19
    20
    21
    22
    #pragma once
     
    namespace MyNameSpace
    {<div style="margin-left:40px">using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
     
    __value enum MyEnum { VAL1, VAL2, VAL3 };
     
    __gc class MyClass
    {
    public:<div style="margin-left:40px">MyClass(void)
    {<div style="margin-left:40px">InitializeComponent();</div>}</div>protected:<div style="margin-left:40px">void Dispose(Boolean disposing)
    {<div style="margin-left:40px">if (disposing && components)
    {<div style="margin-left:40px">components->Dispose();</div>}</div></div>private:<div style="margin-left:40px">System::ComponentModel::Container * components;
     
    void InitializeComponent(void)
    {
    <div style="margin-left:40px">// Code supprimé ici</div>}</div>};</div>}
    Quelqu'un pourrait t-il �clairer ma lanterne car j'ai horreur de faire quelque chose que je ne comprends pas ... enfin en m�me temps cela provient surement de mon niveau pitoyable en programmation ...

    O� doit-on d�clarer une enum dans une Winform en C++ pour que le code soit propre ???

    Merci d'avance

  2. #2
    Membre confirm�
    Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2006
    Messages
    76
    D�tails du profil
    Informations personnelles :
    �ge : 66
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 76
    Par d�faut
    Bonjour


    Je ne connais pas Visual Studio 2003, il y a peut �tre des diff�rences avec Visual Studio 2005 que j'utilise.

    La d�claration de l'�num�ration se fait bien � l'endroit o� tu l'effectues en revanche elle se d�clare de la mani�re suivante :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    enum class myEnum { VAL1 , VAL2 , VAL3 }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    36
    D�tails du profil
    Informations personnelles :
    �ge : 39
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 36
    Par d�faut
    Merci pour ton aide.

    Le probl�me est que la syntaxe utilis�e a chang� au passage de VS2003 avec le .net 1.1 et VS2005 en .net 2.2.
    Je ne suis donc pas capable d'utiliser ta syntaxe.

    Merci quand m�me ^^

Discussions similaires

  1. Des erreurs dans la d�claration d'une enum
    Par moooona dans le forum Langage
    R�ponses: 4
    Dernier message: 28/05/2008, 04h33
  2. WAS 6 : d�claration d'une ressource dans le JNDI
    Par elewandowski dans le forum Websphere
    R�ponses: 6
    Dernier message: 11/12/2007, 17h43
  3. R�ponses: 1
    Dernier message: 26/11/2007, 08h26
  4. Requ�te pour copie rapide d'une ligne dans la table ?
    Par renaud26 dans le forum Requ�tes
    R�ponses: 1
    Dernier message: 17/10/2006, 09h52
  5. R�ponses: 7
    Dernier message: 02/08/2006, 15h51

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