var
Stream: TMemoryStream;
Jpg: TJpegImage;
GraphType: TGraphType;
begin
Stream := TMemoryStream.Create;
try
if Assigned(Query1.FieldByName('logo')) then
try
TBlobField(Query1.FieldByName('logo')).SaveToStream(Stream);
if Stream.Size > 0 then
begin
Stream.Position := 0;
Stream.Read(GraphType, 1);
case GraphType of
gtBitmap:
Image1.Picture.Bitmap.LoadFromStream(Stream);
gtIcon:
Image1.Picture.Icon.LoadFromStream(Stream);
gtMetafile:
Image1.Picture.Metafile.LoadFromStream(Stream);
gtJpeg:
begin
Jpg := TJpegImage.Create;
try
Jpg.LoadFromStream(Stream);
Image1.Picture.Assign(Jpg);
finally
Jpg.Free;
end;
end else
Image1.Picture.Assign(nil);
end;
end else
Image1.Picture.Assign(nil);
except
on e: Exception do
begin
Image1.Picture.Assign(nil);
raise;
end
end;
finally
Stream.Free;
end;
end;