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++Builder Discussion :

pointeur this - c++ builder


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 86
    Par défaut pointeur this - c++ builder
    bonjour,
    je développe une appli qui permet de lire les animations falsh avec flash.ocx...
    je voudrai déclarer une variable de type TShockwaveFlash pour qu'elle soit accéssible depuis tout mon projet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TShockwaveFlash *flash = new TShockwaveFlash(this);
    si je met cette déclaration dans une fontion, ça fonctionne, mais je ne peux pas accéder à la variable flash depuis les autres fonctions.
    si je la met hors d'une fonction, pour la rendre accéssible à tout le projet, j'ai une erreur qui me dit :
    " 'this' ne peut être utilisé que dans une fonction membre "

    comment puis-je faire ?
    merci d'avance

  2. #2
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047

  3. #3
    Membre chevronné
    Inscrit en
    Août 2004
    Messages
    556
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 556
    Par défaut Re: pointeur this - c++ builder
    Citation Envoyé par mathieu57
    bonjour,
    je développe une appli qui permet de lire les animations falsh avec flash.ocx...
    je voudrai déclarer une variable de type TShockwaveFlash pour qu'elle soit accéssible depuis tout mon projet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TShockwaveFlash *flash = new TShockwaveFlash(this);
    si je met cette déclaration dans une fontion, ça fonctionne, mais je ne peux pas accéder à la variable flash depuis les autres fonctions.
    si je la met hors d'une fonction, pour la rendre accéssible à tout le projet, j'ai une erreur qui me dit :
    " 'this' ne peut être utilisé que dans une fonction membre "

    comment puis-je faire ?
    merci d'avance
    this est un opréateur qui renvoi un pointeur vers l'instance courante de la classe.

    Tu ne peux pas utiliser "this" dans le domaine globale.
    Apparement ta classe TShockwaveFlash nécéssite un pointeur vers un objet déjà exitant de type que tu ne nous dis pas. Il nous en faudrait plus.

    Tu peux faire comme ça si tu veux, mais tu pourrai éviter et chercher une meilleur solution:

    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
     
    [zone_globale]
    TShockwaveFlash *flash = NULL;
    [/zone_globale]
     
    [methode_initialisateur]
    flash = new TShockwaveFlash(this);
    [/methode_initialisateur]
     
    [fct_ou_tu_vx_utiliser]
    if( flash != NULL )
     // ok
    else
     // pas encore initialisé
    [/fct_ou_tu_vx_utiliser]
    ou mieux encore:
    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
     
    class TaClassContenant
    {
    private:
       TShockwaveFlash *flash;
    public:
       TShockwaveFlash *GetShockwaveFlash()
       {
          return flash;
       }
    };
     
    [fct_quelconque]
    TaClasseContenant A;
    TShockwaveFlash *flash = A.GetShockwaveFlash();
    [/fct_quelconque]
     
    Il y a une multitude de possibilités mais tout dépend de ce que tu as besoin

  4. #4
    Membre confirmé Avatar de BigNic
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 195
    Par défaut
    tu peux aussi utiliser un design pattern qui s'appel singleton.

  5. #5
    Membre émérite Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Par défaut
    Oui, ce sera sans doute plus propre.
    Cf : http://smeric.developpez.com/java/uml/singleton/
    Le modèle est présenté en Java, mais l'extrapolation au C++ est immédiate. Le problème des accès concurrents y est aussi discuté.

  6. #6
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 86
    Par défaut
    merci pour vos réponses.
    j'ai essayé avec la 1ere proposition de JulienDuSud et cq fonctionne.
    merci encore à tous

  8. #8
    Membre chevronné Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par défaut
    si ca fonctionne, oublis pas le

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

Discussions similaires

  1. Réponses: 20
    Dernier message: 16/11/2009, 23h04
  2. Pointeur this et événement OnClick
    Par Argonz dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 02/11/2009, 11h32
  3. Réponses: 4
    Dernier message: 02/08/2007, 14h11
  4. Question sur le pointeur this
    Par Core8 dans le forum C++
    Réponses: 4
    Dernier message: 29/03/2007, 14h31
  5. [MFC] Pointeur this et fonctions statiques
    Par Yellowmat dans le forum MFC
    Réponses: 5
    Dernier message: 08/02/2005, 10h15

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