Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

jpeg + блоб [D6, MSSQL]


zergey ©   (2003-10-09 14:49:00) 

Добрый день, господа мастера.
Столкнулся со следующей проблемой: в бд, в блобе, хранятся картинки в формате jpeg. При смене записи отрабатывает следующая функция:

var MS: TMemoryStream;
w: TJPEGImage;
begin
MS:= TMemoryStream.Create;
(ADOQuery1.FieldByName("photo") as TBLOBField).SaveToStream(MS);
ShowMessage(IntToStr(MS.Size));
w:= TJPEGImage.Create;
w.LoadFromStream(MS);
Image1.Picture.Assign(w);
MS.Destroy;
w.Destroy;
end;

возникает крайне непонятное исключение: jpeg error # 41. В чем может быть проблема?


zergey   (2003-10-09 15:34:00) [1]

Похоже, проблема решена. Использую TDataSet.CreateBlobStream
Спасибо за советы


zergey   (2003-10-09 15:31:00) [2]

для файла использовались TBlobField.SaveToFile
и TJPEGImage.LoadFromFile


Дуся   (2003-10-09 15:26:00) [3]

Если те же методы использовались для файла и работали, какая тут может быть несовместимость?..


zergey   (2003-10-09 15:22:00) [4]

2 Дуся
попробовал. Поток сохраняется нормально, а вот jpegimage - пустой. Похоже дело в несовместимости методов TBlobField.SaveToStream и TJPEGImage.LoadFromStream. При использовании временного файла вместо потока все работает. Какие могут быть вариенты (кроме врем. файла)?


Дуся   (2003-10-09 15:19:00) [5]

А в файл сохранять пробовали? Открывается потом?


Наверх

Титульная страница Поиск, карта сайта Написать письмо