Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как запихнуть jpg в TMemoryStream из TDISQlite3Uni 
:(
    Опции темы
Путешественник
  Дата 5.2.2010, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 22.1.2010

Репутация: нет
Всего: нет



Всем доброго времени суток!
У меня такая проблемка. Пример пробный.
У меня есть БД (SQLite), я её подключаю с помощью компоненты DISQLite3Database (из пакета DISQLite3), и запросы к ней через DISQLite3UniDirQuery1.
В этой БД всего одно поле типа BLOB, содержащее картинку в JPG. Так вот мне эту картинку нужно загрузить в переменную Memory типа TMemoryStream, а из Memory в переменную Image типа TJPEGImage.
Проблема в том что как бы я не пытался загрузить в стрим из DISQLite3UniDirQuery1 ничего не выходит. Нашел кучу примеров, и те посмотрел , что идут в пакете DISQLite3, но постоянно вылетает ошибка "Access violation at adress xxxxxxxxx". 

Код

procedure TForm1.FormCreate(Sender: TObject);
var Memory: TMemoryStream;
      Image: TJPEGImage;
begin
    Image:=TJPEGImage.Create;
    Memory:=TMemoryStream.Create;    

    DISQLite3UniDirQuery1.Close;
    DISQLite3UniDirQuery1.SelectSQL:='Select * Form Image;';
    DISQLite3UniDirQuery1.Open;

    TBlobField(DISQLite3UniDirQuery1.Fields[0]).SaveToStream(Memory); 
     Memory.Position:=0;
    Image.LoadFromStream(Memory);
    Momory.Free;

end;    



Вроде правильно записываю в стрим, что не так?
Если что коряво ногами не бейте!

PM MAIL   Вверх
Путешественник
Дата 6.2.2010, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 22.1.2010

Репутация: нет
Всего: нет



 smile Вчера не работало, сегодня код нормально работает без ошибок!
Слушайте, а зачем вообще в стрим загружать промежуточно, если можно в DBImage на прямую?
P.S. В примерах с DISQLite3 где работа шла с картинками сначала в стрим загружают, а потом в переменную типа соответствующего рисунку.



Это сообщение отредактировал(а) Путешественник - 6.2.2010, 09:07
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0455 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.