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:
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
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:
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:
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:
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 |