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), либо запускать в отдельном потоке загрузку и прибивать поток при необходимости.
Сейчас этот форум просматривают: Yandex-бот и гости: 50