Désolé de upper encore et encore ce topic... je sais que je peux paraitre chiant... Mais j'ai testé tout ce que vous m'avez dit vendredi, et rien n'y fait, je n'arrive pas à utiliser mon objet dans le reste de mes fichiers...
Je rappelle...
J'ai déclaré ma classe dans CMonAppli.h
Code :
- class CVariableElc {
- ...
- };
|
Dans la déclaration de ma classe CMonAppliApp j'ai fait :
class CMonAppliApp : CWinApp
Code :
- {
- ...
- CVariableElc * m_pObjElc;
- ...
- }
|
(tout ca c'est ce qu'on m'a dit de faire...)
Dans le constructeur de cette classe, j'ai fait...
Code :
- CMonAppliApp::CMonAppliApp(...)
- {
- m_pObjElc = (CVariableElc *) new CVariableElc;
- }
|
Et on m'a dit qu'avec ca, je pourrais utiliser mon objet et ses méthodes partout ou je le souhaiterais, avec la formule magique suivante :
Code :
- CVariableElc * pVariable = AfxGetApp()->m_pObjElc;
|
Visual C++, lorsque on tape AfxGetApp()-> affiche un petit menu qui nous montre objets et méthodes auquelles on a accès.. Or mon objet n'y est pas, et j'ai une erreur à la compile me disant que m_pObjElc n'existe pas et ne fait donc pas partie de CWinApp.
Par contre, si je remplace -> par ::, la j'ai accès à mon objet (il est dans le petit menu qui apparait), mais j'ai quand meme une erreur me disant que m_pObjElc n'appartient pas à global namespace.
Alors on m'avait dit de faire un cast, puisque AfxGetApp() renvoie un CWinApp *, donc de faire un cast (CMonAppliApp *)AfxGetApp()..., mais ca marche pas non plus...
C ou que j'ai merdé ??
par avance merci...
(après j'essaierai de plus vous emmerder, c promis...)