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 :

source de données objet


Sujet :

C++/CLI

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 29
    Par défaut source de données objet
    Salut,
    je travaille sur un reportviewer avec Visual Studio 2005 en c++
    J'essaye de crée une classe c++ pour pouvoir l'ajouter en tant que nouvelle source de données de type Objet.

    Je n'ai réussi qu'a trouver un exemple en C# sur msdn : http://msdn.microsoft.com/fr-fr/libr...92(VS.80).aspx

    Le code se raportant à la classe codé en C# :
    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
    23
    24
    25
    26
    27
    28
    public class Product
    {
        private string m_name;
        private int m_price;
     
        public Product(string nom, int prix)
        {
            m_name = nom;
            m_price = prix;
        }
     
        public string Nom
        {
            get
            {
                return m_name;
            }
     
        }
     
        public int Prix
        {
            get
            {
                return m_price;
            }
        }
    }
    Quand j'ajoute cette classe en tant que nouvelle source de données de type Objet dans un projet c# sa marche puisque j'ai deux données disponible dans la source de donées Product (Prix et Nom)


    Maintenant dans un projet c++ je crée une classe avec :
    dans le fichier.h :
    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
    #include <string>
    using namespace std;
     
    public class CProduct
    {
    public:
     
    	CProduct(void);
     
    	~CProduct(void);
     
    	int Prix(void);
     
    	string Nom(void);
     
    private:
    	int prix;
    	string nom;
    };
    et dans le fichier.cpp :
    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
    #include "Product.h"
     
    CProduct::CProduct(void)
    {
    }
     
    CProduct::~CProduct(void)
    {
    }
     
    int CProduct::Prix(void)
    {
    	return this->prix;
    }
     
    string CProduct::Nom(void)
    {
    	return this->nom;
    }
    Alors la par contre quand j'ajoute cette classe en tant que nouvelle source de données de type Objet dans mon projet c++ je n'ai pas les deux données Prix et Nom.
    Voila je ne sais pas trop comment m'y prendre ...
    Merci de votre aide !

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 29
    Par défaut
    Je viens de remarquer que en fait en C# Prix et Nom sont des propriétées associées au attributs m_name et m_price.
    Est il possible de créer des propriétées en c++ ?

  3. #3
    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
    Pas en C++ natif.
    En C++ pour le framework .Net (Managed C++ ou bien C++/CLI), par contre, aucun problème.
    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.

  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
    Voici une traduction de la classe en C++/CLI:
    Code C++/CLI : 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
    public ref class Product
    {
    private:
    	System::String ^m_name;
    	int m_price;
     
    public:
    	Product(System::String ^nom, int prix);
     
    	property System::String^ Nom
    	{
    		System::String^ get();
    	}
     
    	property int Prix
    	{
            	int get();
    	}
    };
    Code C++/CLI : 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
    #include "product.h"
    using namespace System;
     
    Product::Product(String ^nom, int prix)
    {
    	m_name = nom;
    	m_price = prix;
    }
     
    String^ Product::Nom::get()
    {
    	return m_name;
    }
     
    int Product::Prix::get()
    {
    	return m_price;
    }
    Je n'ai pas testé, mais il me semble bien que c'est ç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.

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 29
    Par défaut
    oui justement j'étais sur cette piste du mot clef property
    http://dotnet.developpez.com/faq/cpp...erloadoperator

    c'est super ce site y a plein de chose le seul problème c'est de savoir quoi chercher

    merci Médinoc

    je test ça tout de suite

  6. #6
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 29
    Par défaut
    Bon sa marche trés bien c parfait mais j'ai encore des problèmes pour la suite du code à savoir transformer la classe Merchant vers du c++
    classe Merchant C#:
    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
    public class Merchant
    {
        private List<Product> m_products;
     
        public Merchant()
        {
            m_products = new List<Product>();
            m_products.Add(new Product("Stylo", 25));
            m_products.Add(new Product("Pinceau", 30));
            m_products.Add(new Product("Cahier", 15));
        }
     
        public List<Product> GetProducts()
        {
            return m_products;
        }
    }
    Classe Merchant C++
    fichier.h :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #include "Product.h"
    using namespace System;
    using namespace System::Collections::Generic;
     
    public ref class Merchant
    {
    private: 
    	System::Collections::Generic::List<Product> m_products;
     
    public: 
    	Merchant(void);
    	System::Collections::Generic::List<Product> GetProducts(void);
    };
    fichier.cpp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include "Merchant.h"
     
    Merchant::Merchant(void)
    {
    }
     
    System::Collections::Generic::List<Product> Merchant::GetProducts(void)
    {
    	return this->m_products;
    }
    Enfin bref de gros problème avec ce List de malheur ...

Discussions similaires

  1. Common Language Runtime (CLR) et source de données objet
    Par Sekhmett dans le forum VC++ .NET
    Réponses: 0
    Dernier message: 24/06/2008, 17h41
  2. Réponses: 8
    Dernier message: 15/08/2007, 13h07
  3. [CR VS 2005] Source de données Objet .net
    Par Cereal123 dans le forum SDK
    Réponses: 4
    Dernier message: 08/03/2007, 10h46
  4. Connexion à une source de données pour un objet pivotTable
    Par totocasagrandi dans le forum Access
    Réponses: 2
    Dernier message: 12/01/2007, 10h45
  5. [Crystal Report 8] créer une source de données oracle
    Par Lina dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 14/11/2002, 13h53

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