Шаг 212 - Объявление глобального объекта

Итак, задача объявить объект так, чтобы к нему был доступ из любого места в программе. Давайте сделаем это на основе объекта порожденного от класса CWinApp. Создавайте приложение на базе MFC App Wizard, как SDI например. Имя можно дать TestGlobal.

Для начала объявим ссылку на этот объект. Рядом с его определением. Вот так.

//////////////////////////////////////////////
// The one and only CTestGlobalApp object

CTestGlobalApp theApp;
CTestGlobalApp* NEAR m_gpMyApp = &theApp;.

Теперь нам надо перейти в SDIAFX.H и дописать сслыку на этот объект как внешнюю.

//{{AFX_INSERT_LOCATION}}
#include "TestGlobal.h"
extern CTestGlobalApp* NEAR gpMyApp; 
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_STDAFX_H__E2879A47_6C78_11D4_9411_CEDF8A8E405C__INCLUDED_)

С этого момента в любом месте вы сможете иметь доступ через указатель к функциям класса. Давайте посмотрим. Сможем ли мы вызвать методы объекта из вида не вызывая функцию AfxGetApp().

212.gif (7256 b)


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.