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

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

Размер заголовка у поля OLE в Access2000 [D7, Access2000]


voimix ©   (2004-01-12 12:37:00) 

У меня такая проблема нужно просто считать картинку поля OLE в DBImage.Естественно что у меня возникает ошибка Bitmap Image is not valid потому что в этом поле есть ещё заголовок OLE,который
содержит разную инфу.Дык вот мне нужно знать размер этого заголовка.


sniknik   (2004-01-12 14:49:00) [1]


procedure TForm1.ADODataSet1AfterScroll(DataSet: TDataSet);
var Stream: TMemoryStream;
Pref: Word;
begin
Stream:= TMemoryStream.Create;
try
TBLOBField(ADODataSet1.FieldByName("ImField")).SaveToStream(Stream);
if Stream.Size <> 0 then begin
Stream.Position:= 0;
Stream.ReadBuffer(Pref, 2);
if Pref = $4D42 then DBImage1.DataSource:= DataSource1
else begin {в примере только 2 варианта, но на самом деле может быть гораздо больше так нельзя, нужно условие/обработка для каждого}
Stream.Position:= 82;
Image1.Picture.Bitmap.LoadFromStream(Stream);
end;
end;
finally
Stream.Free;
end;
end;


но это только для обьекта определяемого в access как "точечный рисунок" (BMP)
ложил в кладовку пример на эту тему, но там ее переодически чистят(?)/глючит ее(?). счас его там нет. могу выслать.


Romkin   (2004-01-12 12:51:00) [2]

Если уж загнал в базу картинку через OleContainer, то с его помощью и открывай. Он позволяет получить свой объект


Наверх

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