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

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

<BLOB Graphic> [D6, Paradox]


Сергей77 ©   (2003-08-14 08:56:00) 

Осваиваю програмирование. В таблицу Paradox 7, поле <BLOB Graphic>, при загрузке рисунка размером более чем 800х600 пикселов
Project .. raised exception class EInvalidGraphic with message "Bitmap image is not valid"
Это проблема Paradox ? Если так то есть БД которые позволяют работать с рисунками больших размеров?
Кстати в базу он записывается. Открываю БД с помощью SQL Explorer (поставляется вместе с DELFI), Explore Blobs выдает сообщение "Bitmap image is not valid".
Проблема решается?


Сергей77   (2003-08-15 04:52:00) [1]

Я пользуюсь DBImage. Может удобней в базе сохранять имена файлов, а рисунки в отдельном каталоге хранить? Твой способ тоже попробую. У меня книга по Дельфи6 на тысячу с лишним страниц, я там не встречал ни TMemoryStream ни TJpegImage :(


Zorik   (2003-08-14 17:08:00) [2]

Interbase например
А ты как загружаеш через потоки. Через TMemoryStream можно и jpeg загружать.

uses Jpeg;
var ms: TMemoryStream;
jpg: TJpegImage;

запись

try
ms:=TMemoryStream.Create;
jpg:=TJpegImage.Create;
jpg.LoadFromFile(FileName);
jpg.SaveToStream(ms);
ms.Position:=0;
with Table(Query) do
begin
Edit;
FieldbyName("Graphic").LoadFromStream(ms);
Post;
//здесь типа ApplyUpdates, Commit (для Interbase)
end;
finally
ms.Free;
jpg.Free;
end;

чтение

try
ms:=TMemoryStream.Create;
FieldbyName("Graphic").SaveToStream(ms);
jpg:=TJpegImage.Create;
ms.Position:=0;
jpg.LoadFromStream(ms);
Image1.Picture.Assign(jpg);
finally
ms.Free;
jpg.Free;
end;


Наверх

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