Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2013, 16:47   #1
ZahAlex
Пользователь
 
Регистрация: 08.04.2009
Сообщений: 45
По умолчанию GetDIBits глючит (masm32)

Проблема с функцией GetDIBits, нужно получить размер изображения. Как написано в MSDN, нужно установить NULL в lpvBits, чтобы заполнить структуру BITMAPINFO. При первом вызове работает, при втором уже нет.
Стёк возвращается неверно, и вылетает...
Объявил BITMAPINFO глобально, первый раз работает второй просто не заполняет BITMAPINFO. Что может быть?
GetLastError - 0
После изучения ассемблера стал мозг зависать...
ZahAlex вне форума Ответить с цитированием
Старый 16.11.2013, 17:11   #2
ZahAlex
Пользователь
 
Регистрация: 08.04.2009
Сообщений: 45
По умолчанию

Всем спасибо . Решил сам:
При повторных вызовах этой функции, нужно обнулить всё в BITMAPINFO кроме размера структуры. Глюк пропал. И кстати вспомнил, в ReadFile такая же байда.
После изучения ассемблера стал мозг зависать...
ZahAlex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
GetDIBits пишет за буфеер => Heap corruption detected. TwiX Win Api 2 16.11.2013 22:27
MASM32 djonatan98 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 61 26.04.2012 10:20
GetDIBits, нехватка памяти, какие могут быть причины? Пепел Феникса Win Api 4 11.12.2011 01:21
Получить пиксель в Hbitmap через GetDIBits. TwiX Win Api 1 19.09.2011 11:07
masm32 Katya25 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 17.05.2011 08:40