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 :

Début difficile en Visual C++ 2005 .NET


Sujet :

C++/CLI

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 22
    Points : 21
    Points
    21
    Par défaut Début difficile en Visual C++ 2005 .NET
    Bonjour
    Je viens de faire le grand pas. Passer de VB6 à Visual c++ 2005 .NET !!!!!
    Et là, c'est dur dur.

    Je viens de créer un projet. Donc, je me retrouve avec ma "classe principale" Form1.
    J'y mets un label1 (on commence tout doucement !)

    Ensuite, je crée une nouvelle classe.
    Mon problème, c'est que depuis cette classe, je n'ai pas accès à l'objet label1 appartenant à une autre classe (Form1) !!!

    Comment faire ?

    Merci de votre aide

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 619
    Points
    1 619
    Par défaut
    je pense que ton label est en protected. regarde dans la methode initialcomponents().

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Points : 343
    Points
    343
    Par défaut
    Bonjour, et bienvenue dans l'environnement .NET
    tout d'abord pour avoir accès a la classe form1 a partir d'une autre classe tu doit recupérer ton objet Form1 a partir de ta classe, par exemple lors de l'appel du constructeur tu peut lui passer ton instance de cette manière :
    Code C++ : 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
     
    MaClasseSecondaire monObjetClasse = gcnew MaClasseSecondaire(this);//this represente l'objet de la classe ou tu es en ce moment (ici c'est Form1)
     
    ...
     
    // dans ta classe secondaire maintenant : tu dois modifier le constructeur :
    public ref class MaClasseSecondaire
    {
       Form1 myF;
     
       MaClasseSecondaire(Form1 F)
       {
          myF = F;
          MaFonction
       }
     
       MaFonction(void)
       {
          F.FonctionDeForm1();
       }
    }

    Je pense que il serait bien que t'achete un livre sur le C++.net si tu souhaite t'investir dans ce langage etant donner que le pasage du VB6 au .NET est loin d'être evident
    1 || 1 = 1
    1 && 1 = 1
    1 * 1 = 1
    Bon après tout, peut-être que Van Damme avait raison :
    1 + 1 = 1 // harmonie parfaite

  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
    Points : 16 075
    Points
    16 075
    Par défaut
    tu peux aussi consulter mes tutoriels en préambule

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 22
    Points : 21
    Points
    21
    Par défaut
    Oui effectivement, j'ai vu tes tutoriels. C'est excellent.
    Mais je n'ai pas encore trouvé ma réponse concernant l'accès aux variables et objets depuis n'importe quelle classe (en globale quoi)

  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
    Points : 16 075
    Points
    16 075
    Par défaut
    tu peux faire une classe avec des membres statiques, c'est une solution

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Points : 343
    Points
    343
    Par défaut
    Citation Envoyé par nico-pyright(c)
    tu peux faire une classe avec des membres statiques, c'est une solution
    Oui, ou une classe singleton.

    @kinouseb > mais il faut que tu arrête de penser "made in VB6" les objet globaux c'est mal
    C'est pas "objet" tu doit considerer que une variable c'est une valeur se raportant a un objet une valeur dans le vide n'existe pas.

    Je pense que tu devrais regarder un peu plus comment fonctionne le langage objet (livres c++, tutoriaux) , car ton probleme ne viens pas du langage C++.net lui meme, mais le probleme viens de toi qui veut faire du VB6 avec du C++.net.
    1 || 1 = 1
    1 && 1 = 1
    1 * 1 = 1
    Bon après tout, peut-être que Van Damme avait raison :
    1 + 1 = 1 // harmonie parfaite

Discussions similaires

  1. TreeView sur Visual Studio 2005 .net 2.0
    Par atlassia dans le forum ASP.NET
    Réponses: 5
    Dernier message: 14/01/2009, 16h27
  2. Visual Studio 2005 VB.Net Trop lent
    Par Lebeb dans le forum Visual Studio
    Réponses: 7
    Dernier message: 15/05/2008, 15h54
  3. Réponses: 2
    Dernier message: 01/08/2006, 10h20
  4. Framework .NET + SQL Server 2005 / Visual Studio 2005
    Par b00tny dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 26/04/2006, 09h01
  5. Réponses: 2
    Dernier message: 25/04/2006, 10h58

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