C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 10 - Добавляем деструктор к классу CMainWnd / Direct3D / Microsoft DirectX

Шаг 10 - Добавляем деструктор к классу CMainWnd

Немного подправим предыдущий "Шаг 9 - Создаем Direct3D при помощи MFC".

После всех #include поставим:

#define _RELEASE_(p) { if(p) { (p)->Release(); (p)=NULL; };};
#define _DELETE_(p) { if(p) { delete (p); (p)=NULL; };};

Для более подробной информации смотрите "Шаг 1 - Инициализация оконного приложения". Перенесите инициализацию устройств Direct3D в наш класс:

class CMainWnd : public CFrameWnd
{
public: 
	CMainWnd();			// Конструктор по умолчанию
private:
	LPDIRECT3D8 p_d3d;			// наш главный интерфейс 
	LPDIRECT3DDEVICE8 p_d3d_Device;	// наше устройство d3d8
};

И напишем деструктор. Для этого щелкнем правой кнопкой мышки на класс CMainWnd отображаемый в окне Class View:

10_1.gif (3957 b)

Далее выберем Add -> Add Function (Добавить->Добавить Функцию), в появившемся окне выбираем из выпадающего списка void и пишем название деструктора:

10_2.gif (5487 b)

Переходим в него и добавляем код:

CMainWnd::~CMainWnd(void)
{
	_RELEASE_(p_d3d_Device);
	_DELETE_(p_d3d_Device);
	_RELEASE_(p_d3d);
	_DELETE_(p_d3d);
}

Вначале удаляется устройство, а затем только сам Direct3D и ни в коем случае не наоборот.


Загрузить проект | | |
Автор Хавов Евгений Валерьевич.
[AD]