- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
void foo()
{
if (!wxFile::Exists(defDir + resourcePath)) return false;
HBITMAP *bmp = new HBITMAP;
wxString path = defDir + resourcePath;
(*bmp) = (HBITMAP)LoadImage(0, path.c_str(), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION);
if (bmp != NULL) (*pMap)[resourceName] = bmp; else return false;
return true;
}
bool SXXXXBitmapStorage::releaseItem(wxString resourceName)
{
ScrollBitmapHash::iterator iterator = pMap->find(resourceName);
if (iterator == pMap->end()) return false;
if (iterator->second != NULL) delete (HBITMAP*)iterator->second;
pMap->erase(resourceName);
return true;
}
HDC* SXXXXBitmapStorage::adjustToDC(wxString resourceName)//we must delete this object
{
HBITMAP *bmp = this->getItem(resourceName);
if (bmp == NULL) return NULL;
HDC *pDC = new HDC();
(*pDC) = CreateCompatibleDC(0);
SelectObject(*pDC, *bmp);
return pDC;
}
И вы не поверите, этот код работал! Правда, конечно же, была утечка ресурсов
absolut 07.06.2010 22:10 # 0
- форматирование;
- название класса;
- и, может быть, копирование ( (*bmp) = (HBITMAP)LoadImage(... ) );
- комментарий тоже хороший.
Hsilgos 07.06.2010 22:47 # +1
И так пол проекта было
> - название класса;
тут автор не виноват, это я изменил, дабы не копроментировать проект. Тем более, что он на 110% переписан
> - и, может быть, копирование ( (*bmp) = (HBITMAP)LoadImage(... ) );
А ничё, что HBITMAP - это УЖЕ указатель? Автор просто напросто не знал основы работы WinAPI и родил чудесный говнокод, который, к тому же, плодил утечку ресурсов
absolut 07.06.2010 23:05 # +1
Хорошо сказал ;)))
Hsilgos 07.06.2010 23:09 # 0
absolut 07.06.2010 23:41 # +1
guest 07.06.2010 22:34 # −8
guest 07.06.2010 22:34 # −8
Sauron 08.06.2010 01:51 # 0
legolegs 08.06.2010 01:57 # 0
guest 08.06.2010 03:45 # 0
Вы что, тролль из детского сада, в маечке "виндуссакс"?
Webkill 08.06.2010 08:45 # −3
guest 08.06.2010 03:44 # 0
круто
koodeer 08.06.2010 12:45 # 0
Bjarne_Stroustrup 08.06.2010 13:06 # 0