Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
81 / 40 / 22
Регистрация: 03.05.2013
Сообщений: 713
1

Деструктор и память ресурс файлов

26.03.2015, 23:49. Показов 467. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребята, скажите, как удалить всю память которая была выделена под ресурс файлы?
C++
1
2
3
4
pic = new HRSRC(::FindResource((HMODULE)hInstance, MAKEINTRESOURCE(IDR_PIC), RT_RCDATA));
unsigned int picsize = ::SizeofResource((HMODULE)hInstance, *pic);
picdata = new HGLOBAL(::LoadResource((HMODULE)hInstance, *pic));
void* picbin = ::LockResource(*picdata);
Утечка памяти просто кошмар.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2015, 23:49
Ответы с готовыми решениями:

Деструктор и динамическая память
Вечер добрый, форумчане. Создал класс с матрицами, динамически выделил память. Конструктор копии...

деструктор не может очистить память
Всем привет. Ребят, проблема такая. Есть класс который предназначен для хранения двумерной матрицы....

Динамическая память (строки), деструктор
Привет. Бьюсь уже час, помогите разобраться. Написал программу, в одной функции память выделил,...

Деструктор класса. Как правильно очистить память?
Добрый день! Написал прогу бинарного дерева поиска, все работает, но нужен совет как убрать за...

3
903 / 424 / 159
Регистрация: 02.04.2014
Сообщений: 1,206
27.03.2015, 09:57 2
Не надо писать new HRSRC(...) и new HGLOBAL(...)
Функции возвращают дескрипторы, за которыми следит менеджер объектов. Поэтому просто:
C
1
2
3
pic = ::FindResource(...
...
picdata = ::LoadResource(...
0
81 / 40 / 22
Регистрация: 03.05.2013
Сообщений: 713
27.03.2015, 10:18  [ТС] 3
Какую то очистку надо проводить? По завершению работы класса?
0
903 / 424 / 159
Регистрация: 02.04.2014
Сообщений: 1,206
27.03.2015, 10:26 4
Никакую. МСДН гласит:
It is not necessary to unlock resources because the system automatically deletes them when the process that created them terminates.
2
27.03.2015, 10:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.03.2015, 10:26
Помогаю со студенческими работами здесь

Ругается на деструктор (выделял динамически память). Почему?
Вот код: #include <stdio.h> #include <conio.h> #include <time.h> #include <stdlib.h> class...

Как освободить память (ресурс) после его использования
private void installButton_MouseEnter(object sender, EventArgs e) { ...

Не вызывается деструктор объекта, под который динамически выделили память в функции
Код: #include <iostream> class A { public: A() { this->ptr = new int; ...

Добавление html файлов в ресурс проекта
visul basic 2010 express,как добавить html файлы в ресурс проекта,чтобы...

Почему создается виртуальный деструктор A, а в таблице виртуальных функций лежит деструктор B
Почему я делаю виртуальным деструктор A, а в таблице виртуальных функций лежит деструктор B?

Есть файл ресурсов. В ресурс загрузил картинку. Как программно добавить в ресурс файл?
$R New1.res...button1.click... Var my1:TBitMap; Res:TResourceStream; begin ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru