Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Visual C++ 6


Автор: EDrew 16.11.2003, 20:54
Помогите решить проблему. У меня программа использует большое кол-во графических файлов (*.bmp), загрузка из ресурсов через LoadBitmap().
Функция выглядит так:
{
HBITMAP hbitmap = LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP1));
m_log.SetBitmap(hbitmap);
}
Короче говоря, все это дело забивает оперативную память махом. Можно ли как-нибудь выгружать картинки из памяти, если они не используются? Пробовал создать dll и всю графику скинуть туда, но у меня ничего не выходит (не понимаю как это сделать).
Заранее благодарю.

Автор: gray_k 17.11.2003, 09:26
А если хранить картинки во временной директории и вытаскивать их по мере надобности?

Автор: Ars 17.11.2003, 10:25
DeleteObject(hbitmap);

Автор: EDrew 18.11.2003, 19:44
DeleteObject(hbitmap) - пробовал бесполезно, дело в том, что у меня сразу вся грофа загружается хотя вызов происходит по очереди. Я уже запарился ЧТО ДЕЛАТЬconfused.gif
Вот если бы картинки грузить в формате jpg или подобном, проблем бы не было, а bmp просто разоряет мою оперативу. Может кто-нибудь скинет ссылку на раб. компонент который мог бы работать с jpg или подобным форматом.
Заранее благодарю.

Автор: Ars 19.11.2003, 10:23
Неужели у тебя размер exe-шника с ресурсами больше объема оперативной памяти (или значительной ее части). Это ж сколько надо графики ?!! wow.gif
Имхо, ты просто где-то ошибся. Расскажи подробнее, приведи код

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)