Поиск:

Ответ в темуСоздание новой темы Создание опроса
> картинки+SQL, bitmap is not valid 
:(
    Опции темы
Grig
Дата 25.9.2005, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Здравствуйте!!
Да знаю, что эта тема не раз обсуждалась на форуме, но мне это к сожалению ничем не помогло...
Проблема стара как мир: записать картинку в базе данных, а потом ненапряжно прочитать ее.
Записываю так:
Код

procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
  begin
  ADOTable1.Edit;
  (ADOTable1.FieldByName('Img') as TBlobField).LoadFromFile(OpenPictureDialog1.FileName);
  ADOTable1.Post;
  end;
end;


И вроде записывает.
Только при моих попытках почитать это дело:
Код

procedure TForm1.Button2Click(Sender: TObject);
var
  B: TBitmap;
begin
  B := TBitmap.Create;
  try
    B.Assign(ADOTable1img);
    Image1.Picture.Bitmap.Assign(B);
  finally
    B.Free;
  end;
end;

Этим и другими способами вылазит ошибка в ран-тайме : "bitmap is not valid"
Впарился уж.
Помогите!...


--------------------
        
PM MAIL ICQ   Вверх
Alex
Дата 25.9.2005, 08:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

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





--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Grig
Дата 25.9.2005, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А вот это интересно:
Я код из Faq-a так интерпретировал:
Код

procedure TForm1.Button1Click(Sender: TObject);
var
IconStream : TMemoryStream;
begin
ADOTable1.Append;
ADOTable1.Edit;
IconStream := TMemoryStream.Create;
Image1.picture.Bitmap.SaveToStream(IconStream);
(ADOTable1.fieldbyname('Img') as TBlobField).LoadFromStream(IconStream);
ADOTable1.post;
IconStream.Free;
end;


Код

procedure TForm1.Button3Click(Sender: TObject);
var IconStream2 : TMemoryStream;
begin
  IconStream2 := TMemoryStream.Create;
(ADOTable1.fieldbyname('Img') as TBlobField).SaveToStream(IconStream2);
IconStream2.Position := 0;
image2.Picture.Bitmap.LoadFromStream(iconstream2) ;
IconStream2.Free;
end;

Однако при попытке сохранить изображение (первая процедура) изображение сохраняется и исчезает с экрана и никакой загрузки изображения не происходит.
Это с файлами *.jpg, *.gif
В то время как файлы *.ico работают нормально.
Но они мне собственно, вообще не нужны..
Что еще надо дописать, а?


--------------------
        
PM MAIL ICQ   Вверх
Grig
Дата 26.9.2005, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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


--------------------
        
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0647 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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