![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Размер заголовка у поля 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, то с его помощью и открывай. Он позволяет получить свой объект