

sosed213 писал(а):Да, спасибо. Этот метод я тоже использовал (писал вначале про GDI Plus).
Но основная фишка родного LoadPicture, что если JPG-файл "битый", то возникает ошибка, и можно этот момент обрабатывать.
Но бывает что вместо ошибки, программа зависает.
Вот как бы сделать так, чтобы программа из своего ресурса, запускала маленькую программу (или библиотеку) (напрямую в память, без сохранения на hdd) которая побывала открывать jpg-файл, и если надо, то пусть себе на здоровье зависает. ( Может ошибусь, но что то типо Pipe сделать)



sosed213 писал(а):Но основная фишка родного LoadPicture, что если JPG-файл "битый", то возникает ошибка, и можно этот момент обрабатывать.
Но бывает что вместо ошибки, программа зависает.

sosed213 писал(а):Debugger, глянул? Есть идеи?


Debugger писал(а):Да, я очень удивлен, что VB6 и вправду зависает (и на самом деле ждал, пока придет Хакер, и напишет, почему так происходит).

sosed213 писал(а):Надеюсь что и правда, Хакер подскажет.

Хакер писал(а):Написать просто оптимистичный загрузчик всегда в пару порядков проще

Qwertiy писал(а):На мой взгляд, любой загрузчик, неважно оптимистичный, или нет, не должен приводить к зависанию.
Оптимистичный должен отличаться только тем, что он может вместо сообщения об ошибке как-то неверно воспринять данные.
А вот зациклиться вместо выдачи результата или ошибки - это ужасный вариант.

Хакер писал(а):Оптимистичный — этот тот, который написан исходя из идеи и действует исходя из расчёта, что файл заведомо корректен.

Qwertiy писал(а):Собственно варианты:


Хакер писал(а):Другое дело, это удостовериться, что цепочка не превратилась в кольцо, а изначально древовидный граф не является графом с циклом.
Хакер писал(а):нужно взять проверить все структуры на предмет их возможного взаимопересечения

Qwertiy писал(а):А что плохого в их пересечении? Так можно сжатие попытаться организовать, при желании.

while(pTaskAdvJpegFilter->IsFinished() == S_FALSE)
{
    hr = pTaskAdvJpegFilter->DoWork(0, pSyncAdv);
}


Mikle писал(а):GDI+ - загружается так, будто ошибки нет, просто половина изображения серая




 
Sam777e писал(а):Вот, может быть, и проверять загруженные картинки на наличие характерной серой области ?
The trick писал(а):Тут нужно либо юзать стороннюю либу (можно и в LIB), либо запускать в отдельном потоке загрузку и прибивать поток при необходимости.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12