Merci pour ces m�thodes qui semblent plus propres... Mais j'ai toujours la m�me erreur de lien :
IODlg.obj : error LNK2001: unresolved external symbol "private: static class CObjectGUI * * SharedData::objectsGUItab" (?objectsGUItab@SharedData@@0PAPAVCObjectGUI@@A)
IODlg.obj : error LNK2001: unresolved external symbol "private: static int SharedData::objectsGUItab_i" (?objectsGUItab_i@SharedData@@0HA)
Mon .h est le suivant :
1 2 3 4 5 6 7 8 9 10 11
| #include "objectGUI.h"
#define MAX_OBJECTS_NB 255
class SharedData
{
friend class CGui_testView;
friend class CIODlg;
private:
static CObjectGUI * objectsGUItab[MAX_OBJECTS_NB];
static int objectsGUItab_i;
}; |
et j'acc�de aux variables dans une fonction de la classe CIODlg comme suit :
SharedData::objectsGUItab[SharedData::objectsGUItab_i++]=attachedGUIObj;
Bien sur j'ai essay� d'�viter les variables globales, mais je ne sais pas si c'est possible dans mon cas que je vais essayer de vous expliquer simplement :
J'ai une application graphique cr��e avec MFC AppWizard dans laquelle je veux que l'utilisateur puisse placer des objets, les d�placer... Je veux donc placer mes objets dans un tableau de CBitmapButton. Il sont cr��s dans une classe en relation avec les dialog box demandant des informations avant la cr�ation, mais doivent �tre affich�s gr�ce au OnDraw de la classe CGui_testView (mon nom de projet est gui_test). A moins qu'il y ai un autre moyen pour afficher ces fameux CBitmapButton dans "l'espace blanc central" de cette appli MFC ? Et donc le probl�me est que la classe CGui_testView est appel�e avec :
1 2 3 4 5
| pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CGui_testDoc),
RUNTIME_CLASS(CMainFrame),
RUNTIME_CLASS(CGui_testView)); |
Il n'y a donc pas d'objet de type CGui_testView � partir duquel r�cup�rer la valeur de certains membres ?
[Balises CODE rajout�es par Loulou24, merci d'y penser � l'avenir]
Partager