Exibir imagem que está no banco em um componente Image
O que há de errado com o seguinte código? ocorre o seguinte erro: EAccessViolation
Obrigado
...
var stream : TMemoryStream;
begin
stream := TMemoryStream.Create;
ZTable1.Edit; try TBlobField(ZTable1.FieldByName('poster')).SaveToStream(stream) ; ZTable1.Post; stream.Position := 0; Image2.Picture.Graphic.LoadFromStream(stream);
finally stream.Free;
end;
...
Obrigado
Olocobixo
Curtidas 0
Respostas
Wilson Junior
25/02/2011
Veja se isto lhe ajuda
Espero ter colaborado.
procedure MostrarImagemCampoBlob( DataSet : TDataSet; strCampo : String; imgExibicao : TImage ); var MemoryStream : TMemoryStream; begin if not((DataSet.FieldByName(strCampo) as TBlobField).IsNull) then begin MemoryStream := TMemoryStream.Create; try imgExibicao := TImage.Create( Nil ); (DataSet.FieldByName(strCampo) as TBlobField).SaveToStream(MemoryStream); MemoryStream.Position := OffsetMemoryStream; imgExibicao.Picture.Bitmap.LoadFromStream(MemoryStream); finally MemoryStream.Free; end end else ImgExibicao.Picture := Nil ; end;
Espero ter colaborado.
GOSTEI 0
Marco Salles
25/02/2011
Parece que o Erro de AV que vc esta obtendo se deve ao fato do campo porter ser null
.
GOSTEI 0