CBitmap:: Ошибка GetBitmap

Какие могут быть возможные причины получения кода возврата в виде 0 от GetBitmap()?

BITMAP bmInfo;
int rc = bitmap->GetBitmap (&bmInfo);
int ec = GetLastError();

Значение, возвращаемое GetLastError() также 0. MSDN не оказывает никакой помощи, и все форумы, где задавались подобные вопросы, молчат.

Чтобы дать вам некоторый контекст, у меня есть экземпляр CBitmap, и я присоединяю второй экземпляр CBitmap к тому же HBITMAP, используя код, подобный следующему:

CBitmap first;
:
:
CBitmap second;
second.Attach ((HBITMAP)first);

BITMAP bmInfo;
second.GetBitmap (&bmInfo);

Призыв к GetBitmap() терпит неудачу для second и не для first,

1 ответ

Решение

Вызов GetBitmap() завершается с ошибкой для второго, а не для первого.

Если это так, то два экземпляра класса не могут иметь одинаковый дескриптор, и ваш фрагмент кода предлагает именно это. Вы можете порвать с отладчиком, чтобы проверить first а также second выяснить, что они на самом деле держат внутри.

Другие вопросы по тегам