Показать сообщение отдельно
  #5  
Старый 05.03.2010, 21:00
Аватар для Sk@zk@
Sk@zk@ Sk@zk@ вне форума
Прохожий
 
Регистрация: 18.12.2009
Сообщения: 12
Репутация: 10
По умолчанию

Цитата:
Сообщение от TOJluK
Предлагаю вам все- таки создать отдельную процедуру. OnDataChnge от DataSource, думаю, подойдет.

Получилось вот так:
Код:
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
var
 Bmp: TBitmap;
 BS: TADOBlobStream;
begin
 BS:= TADOBlobStream.Create(ADOTable1.FieldByName('Картинка'), bmRead);
 Bmp:= TBitmap.Create;
 Bmp.LoadFromStream(BS);
 DBImage1.Picture.Graphic:= Bmp;
 Bmp.Free;
 BS.Free;
 end;
Выкидывает ошибку: Incompatible types: 'TblobField' and 'TField'

Поискала ещё варианты нашла похожий на тот, который Вы прделожили. Попробовала так:
Код:
var
Bmp: TBitmap;
BS: TADOBlobStream;
begin
try
     BS:= TADOBlobStream.Create(TBlobField(ADOTable1.FieldByName('Картинка')), bmRead);
     BS.Seek(82, soFromBeginning);
  Bmp:= TBitmap.Create;
  Bmp.LoadFromStream(BS);
  DBImage1.Picture.Graphic:= Bmp;
finally
Bmp.Free;
BS.Free;
end;
end;
А на это ругается: 'BMP' might not have initialized
'BS' might not have initialized
Ответить с цитированием