Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Утечка памяти. Bitmap.


Автор: Predator_2004 12.4.2011, 19:09
Приветствую всех! Есть такой код:
Код

private: Bitmap^ Frame;
           unsigned int Index;
//...много всего
private: System::Void button_DisplayNextFrame_Click(System::Object^  sender, System::EventArgs^  e) {
        Index++;
        IntPtr ptr=static_cast<IntPtr>(GetFrame(Index));//получаем кадр в виде HBITMAP и приводим к IntPrt
        Frame=Bitmap::FromHbitmap(ptr);
        pictureBox_Frame->Image=Frame;
        if(Index==LastIndex) button_DisplayNextFrame->Enabled=false;
        this->Text=Convert::ToString(Index);
}

Код вылетает через каждые 104 положения индекса. Скорее всего утекает память. Можете сказать где? Спасибо!

Автор: Voyager 13.4.2011, 10:38
Очищайте ресурсы после того как они станут ненужными. Frame.Dispose()?

Автор: Predator_2004 13.4.2011, 12:06
Компилятор пишет, что Dispose() не является членом System::Drawing::Bitmap. Принудительный вызов деструктора класса тоже не помог.

Автор: Predator_2004 13.4.2011, 12:46
Вылетает с исключением: a generic error occured in GDI+ в методе FromHBitmap.

Автор: Predator_2004 14.4.2011, 08:00
Вопрос решен.

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